insert a una tabla desde un store procedure

09/03/2007 - 00:11 por jmeyep | Informe spam
Hola, veran deseo hacer un insert a una tabla desde el resultado de un
Store Procedure cuyo resultado tiene la misma estructura que la de la
mi tabla. Para darles mas detalles aqui les dejo el codigo:

-
CREATE PROCEDURE dbo.P_SEL_CALIF_SBS
@c_tipo_doc_id char(1),
@c_codigo_doc_id char(12),
@c_nombre_deu varchar(120) OUTPUT,
@dc_calif0 decimal(5,2) OUTPUT,
@dc_calif1 decimal(5,2) OUTPUT,
@dc_calif2 decimal(5,2) OUTPUT,
@dc_calif3 decimal(5,2) OUTPUT,
@dc_calif4 decimal(5,2) OUTPUT
AS
BEGIN
exec BMESRVD1.BD_Negocios.dbo.P_SEL_CALIF_SBS @c_tipo_doc_id,
@c_codigo_doc_id,
@c_nombre_deu,
@dc_calif0,
@dc_calif1,
@dc_calif2,
@dc_calif3,
@dc_calif4
END

-

CREATE PROCEDURE dbo.P_INSERT_CALIF_SBS
@dni char(8)
AS
declare
@c_nombre_deu varchar(120),
@dc_calif0 decimal(5,2),
@dc_calif1 decimal(5,2),
@dc_calif2 decimal(5,2),
@dc_calif3 decimal(5,2),
@dc_calif4 decimal(5,2)

EXEC P_SEL_CALIF_SBS '1', @dni, @c_nombre_deu, @dc_calif0, @dc_calif1,
@dc_calif2, @dc_calif3, @dc_calif4

-

Como podran ver tengo 2 procedure P_SEL_CALIF_SBS (Procedure Original)
y P_INSERT_CALIF_SBS (Creado para ejecutarlo usando 1 parámetro y sin
declarar previamente variables) de tal manera que puedo tener mis
resultados ejecutandolo en 1 sola linea

EXEC P_INSERT_CALIF_SBS '10378325'

Resultado:

NOMBRE CALIF0 CALIF1
CALIF2 CALIF3 CALIF4
OTIURA TRISANO SOLANGE 100.00 .00 .00 .00 .00

Ahora lo que deseo es tomar el registro e insertarlo en mi tabla
PS_MBO_SBS_TBL

Gracias de antemano
 

Leer las respuestas

#1 Maxi
09/03/2007 - 01:02 | Informe spam
Hola, debes hacer

INSERT TABLA
EXEC STORE


Saludos

[Microsoft MVP SQL Server]
SQLTOTALConsulting - Servicios y consultoria de SQLServer
www.sqlgurus.org
Buenos Aires - Argentina
http://msmvps.com/blogs/maxiaccotto/
wrote in message
news:
Hola, veran deseo hacer un insert a una tabla desde el resultado de un
Store Procedure cuyo resultado tiene la misma estructura que la de la
mi tabla. Para darles mas detalles aqui les dejo el codigo:

-
CREATE PROCEDURE dbo.P_SEL_CALIF_SBS
@c_tipo_doc_id char(1),
@c_codigo_doc_id char(12),
@c_nombre_deu varchar(120) OUTPUT,
@dc_calif0 decimal(5,2) OUTPUT,
@dc_calif1 decimal(5,2) OUTPUT,
@dc_calif2 decimal(5,2) OUTPUT,
@dc_calif3 decimal(5,2) OUTPUT,
@dc_calif4 decimal(5,2) OUTPUT
AS
BEGIN
exec BMESRVD1.BD_Negocios.dbo.P_SEL_CALIF_SBS @c_tipo_doc_id,
@c_codigo_doc_id,
@c_nombre_deu,
@dc_calif0,
@dc_calif1,
@dc_calif2,
@dc_calif3,
@dc_calif4
END

-

CREATE PROCEDURE dbo.P_INSERT_CALIF_SBS
@dni char(8)
AS
declare
@c_nombre_deu varchar(120),
@dc_calif0 decimal(5,2),
@dc_calif1 decimal(5,2),
@dc_calif2 decimal(5,2),
@dc_calif3 decimal(5,2),
@dc_calif4 decimal(5,2)

EXEC P_SEL_CALIF_SBS '1', @dni, @c_nombre_deu, @dc_calif0, @dc_calif1,
@dc_calif2, @dc_calif3, @dc_calif4

-

Como podran ver tengo 2 procedure P_SEL_CALIF_SBS (Procedure Original)
y P_INSERT_CALIF_SBS (Creado para ejecutarlo usando 1 parámetro y sin
declarar previamente variables) de tal manera que puedo tener mis
resultados ejecutandolo en 1 sola linea

EXEC P_INSERT_CALIF_SBS '10378325'

Resultado:

NOMBRE CALIF0 CALIF1
CALIF2 CALIF3 CALIF4
OTIURA TRISANO SOLANGE 100.00 .00 .00 .00 .00

Ahora lo que deseo es tomar el registro e insertarlo en mi tabla
PS_MBO_SBS_TBL

Gracias de antemano

Preguntas similares