cursor dinamico

14/07/2006 - 13:31 por MarcosQ | Informe spam
Hola,

Necesito acceder a una tabla de otra base de datos que se encuentra en el
mismo servidor. La consulta me devolverá una serie de registros, y para cada
registro hará un conjunto de operaciones complejas.
Para quiero hacer un cursor, pero el caso es que el nombre de la base de
datos me lo pasan por parámetro, o sea es dinámico y cambiará en cada
ejecución. Por ello, el cursor debe ser dinámico para hacer algo así
declare ... cursor local for
select @NombreBd + '.' + @Propietario + '.' + 'nombretabla' from

pero el caso es que no sé como hacer ésto dinámicamente.
¿Se puede hacer?
Si es así si alguien me puede indicar la sintaxis, sobre todo del fetch que
es lo que cambiaría con respecto a una sentencia select dinámica.
En caso contrario, ¿Existe una solución eficaz alternativa a este problema?

Gracias de antemano y saludos.
 

Leer las respuestas

#1 Carlos Sacristán
14/07/2006 - 13:37 | Informe spam
Dependiendo de en qué consisten esas operaciones complejas, igual no
sería necesario usar ese cursor.

De todos modos, si el diseño de la tabla consultada es siempre igual
(que supongo que será así porque si no, el proceso sería todavía mucho más
complejo), siempre puedes insertar los datos en una tabla y base de datos
concreta y que lo que sea dinámico sea la sentencia 'INSERT INTO
tablaTemporal SELECT campo1, ... campoN FROM
<baseDatos>.<propietario>.<tablaOrigen>'

Entiendo también que las operaciones a realizar son siempre las
mismas...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"MarcosQ" escribió en el mensaje
news:
Hola,

Necesito acceder a una tabla de otra base de datos que se encuentra en el
mismo servidor. La consulta me devolverá una serie de registros, y para


cada
registro hará un conjunto de operaciones complejas.
Para quiero hacer un cursor, pero el caso es que el nombre de la base de
datos me lo pasan por parámetro, o sea es dinámico y cambiará en cada
ejecución. Por ello, el cursor debe ser dinámico para hacer algo así
declare ... cursor local for
select @NombreBd + '.' + @Propietario + '.' + 'nombretabla' from


pero el caso es que no sé como hacer ésto dinámicamente.
¿Se puede hacer?
Si es así si alguien me puede indicar la sintaxis, sobre todo del fetch


que
es lo que cambiaría con respecto a una sentencia select dinámica.
En caso contrario, ¿Existe una solución eficaz alternativa a este


problema?

Gracias de antemano y saludos.

Preguntas similares