sql 2000: Guardar resultado de query dinamico

28/01/2008 - 17:15 por Juan Carlos Mendoza | Informe spam
Tengo un query dinamico mas o menos asi:


Declare @sqlcmd varchar(50)
@filas smallint

set @sqlcmd = 'select count(*) from mytabla'
exec @sqlcmd

como cargo a @filas el valor resultante de ejecutar @sqlcmd el cual me
devuelve un valor numerico?

Ojo que las sentencias que estoy planteando no es mi problema real, ya
que lo que realmente estoy obteniendo es la cantidad de registros de
todas las tablas de una base de datos, para lo cual uso un cursor para
barrer sysobjects para obtener cada nombre tabla y armar un query
dinamico, para obtener la cantidad de registros de cada tabla.

Saludos,

Juan Carlos
 

Leer las respuestas

#1 Gux (MVP)
28/01/2008 - 17:31 | Informe spam
Este es un ejemplo del MVP Erland Sommarskog:

SELECT @sql N' SELECT @cnt = COUNT(*) FROM dbo.' + quotename(@tbl) +
N' WHERE LastUpdated BETWEEN @fromdate AND ' +
N' coalesce(@todate, ''99991231'')'
SELECT @params = N'@fromdate datetime, ' +
N'@todate datetime = NULL, ' +
N'@cnt int OUTPUT'
EXEC sp_executesql @sql, @params, '20060101', @cnt = @count OUTPUT


Aprenda los detalles en:

Las virtudes y maldades del SQL dinámico
http://www.hayes.ch/sql/sql_dinamico.html


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Juan Carlos Mendoza" wrote:

Tengo un query dinamico mas o menos asi:


Declare @sqlcmd varchar(50)
@filas smallint

set @sqlcmd = 'select count(*) from mytabla'
exec @sqlcmd

como cargo a @filas el valor resultante de ejecutar @sqlcmd el cual me
devuelve un valor numerico?

Ojo que las sentencias que estoy planteando no es mi problema real, ya
que lo que realmente estoy obteniendo es la cantidad de registros de
todas las tablas de una base de datos, para lo cual uso un cursor para
barrer sysobjects para obtener cada nombre tabla y armar un query
dinamico, para obtener la cantidad de registros de cada tabla.

Saludos,

Juan Carlos

Preguntas similares