Duda de Transact SQL

Pedro
07 de Julio del 2005

Buenas! Tengo una duda, necesito hacer un procedimiento almacenado en el que me creo una tabla con la informacion sobre las tablas y campos que se hayan creado recientemente(le pasaré por parametros fecha inicio y fecha fin) en todas las bases de datos de un servidor.
Desde la tabla Master del Servidor tengo acceso a los nombres de todas las BBDD, así que solo me queda hacer un cursor en el que me recorro todas las BBDD y saco la informacion del sysobjects de cada BBDD pero me he encontrado con un gran problema y es que desde la tabla master no consigo acceder a la informacion de la tabla systables de cada una de las BBDD.
Por ejemplo si yo tengo una BBDD que se llama Prueba y quiero ver la tabla systables desde la master tendria que realizar la siguiente sentencia:
SELECT * FROM PRUEBA.dbo.sysobjects
pero como yo tengo que recorrerme todas las BBDD solo me queda meter en una variable el nombre de las bbdd con un cursor y entonces no me ejecuta, es decir yo hago lo siguiente:
Declare @Tabla
set @tabla = 'PRUEBA.dbo.sysobjects'
select * from @Tabla
Esta última instrucción me da un error diciendo que debo declarar @tabla y ya esta declarado

Si podeis ayudarme os lo agradeceria o si sabeis de algún procedimiento que haga esto mejor...
Muchas Gracias

GabrielSR2004
07 de Julio del 2005
Tu problema es que no es valido el select que estas haciendo

Declare @Tabla
set @tabla = 'PRUEBA.dbo.sysobjects'
select * from @Tabla

----------------------------------------------------------
Pruebalo de la siguiente Manera

Declare
@Sqltext Varchar(100)

Select @Sqltext = 'select * from PRUEBA.dbo.sysobjects'
exec(@Sqltext)

Respecto a realizarlo de otra manera
lo tenemos que checar con mas calma
y mas información

Gabriel Sanchez
[email protected]



Pedro
07 de Julio del 2005
Muchas Gracias, en efecto así funciona pero sigue habiendo un problema y es que esa sentencia la ejecuto dentro de un cursor y ahora me da el siguiente error:

"No se permite asignación de variable en una declaración de cursor"