Esto puede ser una respuesta fácil, pero he estado mirando durante demasiado tiempo ...simple consulta TSQL dinámica sintaxis
tengo la siguiente consulta que toma un parámetro de entrada del procedimiento almacenado como un nombre de variable y el recuento los registros en esa tabla. Me gustaría recuperar los resultados de la declaración dinámica (@toStartStr) en una variable (@toStart).
-- @tempTableName = SProc input parameter
DECLARE @toStartStr nvarchar(150);
DECLARE @toStart int;
SET @toStartStr = 'SELECT @toStart = COUNT(ID) FROM ' + @tempTableName;
EXEC(@toStartStr);
En este momento, un error sugiere que @toStart no se puede concatenar con la cadena SELECT, pero esta es la esencia de lo que quiero. ¿Alguien puede ver lo que estoy haciendo mal? O sugerir una alternativa? FYI SQL 2008 R2. Gracias.
No siempre es cierto que usted es un usuario ** sa **. Creo que los derechos de administrador son necesarios para ejecutar esta consulta. ¿Derecha? – Pankaj
No, acabo de probar en un sistema en el que no tengo derechos de administrador y funciona bien. – JNK
@Kanavi No, los derechos de administrador no son necesarios para ver sys.partitions. ¿Lo intentó antes de decirme que elimine el código? –