Questa potrebbe essere una risposta facile, ma sono stato a fissarla per troppo tempo ...semplice query TSQL dinamica sintassi
Ho la seguente query che prende un parametro di input di stored procedure come un nome di variabile e conta i record in quella tabella. Mi piacerebbe recuperare i risultati dell'istruzione dinamica (@toStartStr) in una variabile (@toStart).
-- @tempTableName = SProc input parameter
DECLARE @toStartStr nvarchar(150);
DECLARE @toStart int;
SET @toStartStr = 'SELECT @toStart = COUNT(ID) FROM ' + @tempTableName;
EXEC(@toStartStr);
In questo momento, un errore suggerisce che @toStart non può essere concatenato con la stringa di SELECT, ma questo è l'essenza di ciò che voglio. Qualcuno può vedere cosa sto facendo male? O suggerire un'alternativa? FYI SQL 2008 R2. Grazie.
Non è sempre vero che sei un utente ** sa **. Penso che i diritti di amministratore siano necessari per eseguire questa query. Destra? – Pankaj
No, ho appena eseguito il test su un sistema in cui non dispongo di diritti di amministrazione e funziona correttamente. – JNK
@ Kanavi No, i diritti di amministratore non sono richiesti per visualizzare sys.partitions. Hai provato prima di dirmi di rimuovere il codice? –