Cursor Dinámico 2

Quiero crear un cursor de la siuguiente forma:
DECLARE mi_CURSOR cursor for strsql
Donde strsql es una variable com un query al que se le va a cambiuar entre otros el nombre de la tabla.
En oracle se hace de una forma muy sencilla pero en sql server no he podido.

1 respuesta

Respuesta
1
No creo que necesites un cursor para eso...
Si lo que necesitas es cambiar el nombre de un campo o tabla de tu query lo puedes hacer generando un string con la consulta y hacer un "replace" del texto que te interesa cambiar y luego ejecutar la consulta...
Para ejecutar la consulta a partir de un string puedes basarte en el siguiente ejemplo:
-- Creamos la string con el query
DECLARE @myStr AS VARCHAR(4000)
SELECT @myStr = 'SELECT * FROM tmpTable'
-- Se reemplaza el nombre de la tabla: tmpTable cambia a ffUnit
SELECT @myStr = REPLACE(@myStr, 'tmpTable', 'ffUnit')
-- Revisamos el query generado
PRINT @myStr
-- Executamos la consulta
EXEC (@myStr)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas