SQL - Cursor

 
Vista:

Cursor

Publicado por Guille (3 intervenciones) el 31/12/2001 11:41:19
Use este cursor para hacer una consulta a todas las tablas de
la base de datos. Alguien sabe como puedo usar WHERE u
otra forma para hacer una consulta condicionada, para buscar con
ciertos parametros, ya que no me acepta usar WHERE con
" select * from " + @nombre_tabla, o si hay otra forma de buscar
en toda la base de datos.
.Saludos

declare @consulta varchar(40)
declare @nombre_tabla varchar(40)

declare fila3 cursor for
select name from sysobjects
where type = "U"

open fila3
while @@fetch_status <> -1
FETCH NEXT FROM fila3 into @nombre_tabla
BEGIN
SET @consulta = " select * from " + @nombre_tabla
exec (@consulta)

end
CLOSE fila3
DEALLOCATE fila3
Go
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cursor

Publicado por xavi lopez miñarro (10 intervenciones) el 17/01/2002 10:14:14
Puede que lo tu hayas puesto sea correcto, pero creo que la asignación debería ser:
SELECT @consulta = " select * from " + @nombre_tabla

Lo del where no debería darte ningún problema.
Lo del exec (@consulta) no me suena, pero creo que lo que estás intentando hacer es devolver una colección de recordsets (p.ej)

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cursor

Publicado por Fer (1 intervención) el 25/01/2002 20:58:31
Guille, está perfecto el método de búsqueda que estás seleccionando y el where lo debes poder usar sin ningún problema, lo único que tendrías que hacer es seguir concatenando tus condiciones...

SET @consulta = 'select * from ' + @nombre_tabla + ' WHERE campo = algo'
exec (@consulta)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar