Sin cursores, pero como hago exec SP en Select

26/02/2007 - 21:41 por Federico A. Colli | Informe spam
Hola que tal.
Bueno, debido a que no deseo utilizar cursores expondo mi duda.
Tengo una tabla temporal con datos pre-procesados y mi intension es
pasar todos los datos de esta a otra tabla que no es igual en
estructura.
La característica de esto es que para insertar los registros (armados
con datos de esta tabla y otras variables) tengo que utilizar un SP
para dicha función (no deseo hacer un Insert... Select... dado que los
SP registra todas las operaciones hechas por un usuario y por esto
necesito ejecutar SPs) pero el problema es que no se pueden ejecutar
SP dentro de un Select.
También se que puedo crear funciones, las cuales sí se pueden ejecutar
dentro del Select en cuestión, el problema es que no deseo crear
funciones que lo único que hacen es llamar a un SP en cuestión.

En resumen,que alternativas tengo (o forma de realizarlo) para pasar
datos de una tabla a otra si:
1) Los datos a transferir son parciales (no es campo a campo)
2) No utilizar Cursores
3) No utilizar Funciones de usuario
4) Utilizar en la insercion el SP creado para tal fin consultando los
datos mediante un Select de la tabla temporal

Si no hay una forma de realizarlo con estas restricciones, ni modo,
tendré que utilizar funciones.

Saludos y gracias de antemano
AUS Federico A. Colli

Preguntas similare

Leer las respuestas

#1 Isaias
27/02/2007 - 00:20 | Informe spam
Tu te has dado la respuesta
Saludos
IIslas


"Federico A. Colli" wrote:

Hola que tal.
Bueno, debido a que no deseo utilizar cursores expondo mi duda.
Tengo una tabla temporal con datos pre-procesados y mi intension es
pasar todos los datos de esta a otra tabla que no es igual en
estructura.
La característica de esto es que para insertar los registros (armados
con datos de esta tabla y otras variables) tengo que utilizar un SP
para dicha función (no deseo hacer un Insert... Select... dado que los
SP registra todas las operaciones hechas por un usuario y por esto
necesito ejecutar SPs) pero el problema es que no se pueden ejecutar
SP dentro de un Select.
También se que puedo crear funciones, las cuales sí se pueden ejecutar
dentro del Select en cuestión, el problema es que no deseo crear
funciones que lo único que hacen es llamar a un SP en cuestión.

En resumen,que alternativas tengo (o forma de realizarlo) para pasar
datos de una tabla a otra si:
1) Los datos a transferir son parciales (no es campo a campo)
2) No utilizar Cursores
3) No utilizar Funciones de usuario
4) Utilizar en la insercion el SP creado para tal fin consultando los
datos mediante un Select de la tabla temporal

Si no hay una forma de realizarlo con estas restricciones, ni modo,
tendré que utilizar funciones.

Saludos y gracias de antemano
AUS Federico A. Colli


Respuesta Responder a este mensaje
#2 J.A. García Barceló
27/02/2007 - 12:10 | Informe spam
¿Has probado a usar la construcción INSERT ...EXEC ?

CREATE TABLE #locks (spid int, dbid int, objid int, objectname sysname NULL,
indid int, type char(4), resource char(15), mode char(10), status char(6))
INSERT #locks (spid, dbid, objid, indid, type, resource, mode, status)
EXEC dbo.sp_lock
SELECT * FROM #locks
DROP TABLE #locks

Ejemplo extraido de:
http://www.awprofessional.com/artic...6&rl=1

J.A. García Barceló
http://jagbarcelo.blogspot.com

"Federico A. Colli" escribió en el mensaje
news:
Hola que tal.
Bueno, debido a que no deseo utilizar cursores expondo mi duda.
Tengo una tabla temporal con datos pre-procesados y mi intension es
pasar todos los datos de esta a otra tabla que no es igual en
estructura.
La característica de esto es que para insertar los registros (armados
con datos de esta tabla y otras variables) tengo que utilizar un SP
para dicha función (no deseo hacer un Insert... Select... dado que los
SP registra todas las operaciones hechas por un usuario y por esto
necesito ejecutar SPs) pero el problema es que no se pueden ejecutar
SP dentro de un Select.
También se que puedo crear funciones, las cuales sí se pueden ejecutar
dentro del Select en cuestión, el problema es que no deseo crear
funciones que lo único que hacen es llamar a un SP en cuestión.

En resumen,que alternativas tengo (o forma de realizarlo) para pasar
datos de una tabla a otra si:
1) Los datos a transferir son parciales (no es campo a campo)
2) No utilizar Cursores
3) No utilizar Funciones de usuario
4) Utilizar en la insercion el SP creado para tal fin consultando los
datos mediante un Select de la tabla temporal

Si no hay una forma de realizarlo con estas restricciones, ni modo,
tendré que utilizar funciones.

Saludos y gracias de antemano
AUS Federico A. Colli
Respuesta Responder a este mensaje
#3 Federico A. Colli
27/02/2007 - 13:27 | Informe spam
Hola, gracias por la respuesta, el tema es que no deseo utilizar
explícitamente INSERT sino el SP creado para tal fin, de modo que voy
a tener que utilizar funciones de usuario.

Saludos
Respuesta Responder a este mensaje
#4 Federico A. Colli
27/02/2007 - 13:28 | Informe spam
Así es, pero buscaba alguna opción a esto :)

Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida