Store Procedure Varias tablas

25/05/2007 - 10:48 por Aventurero | Informe spam
Buenos días amigos del foro.
Tengo una tabla creada de forma temporal que pretendo utilizar en un Store
Procedure y con esta necesito crear 2 tablas más con datos de la creada

Tabla TEMPORAL (3000 o más registros para las siguientes tablas)
campo1
campo2
campo3
campo3
campo4
Tabla PRODUCCION para crear registros a partir de la TEMPORAL
IdProducción (int autonumerico)
campo1
campo2
campo3

Tabla CONTROL
IdProducción (del registro de PRODUCCION)
campo3
campo4

Tabla RESUMEN
IdProducciónInicial ((primero de PRODUCCION)
IdProducciónInicial ((ultimo de PRODUCCION)
FechaCreacion

Puedo crear los registros en las tablas PRODUCCION y CONTROL en una sola
sentencia; y también el RESUMEN?

Gracias anticipadas.
Atentamente,


Aventurero

Preguntas similare

Leer las respuestas

#6 Aventurero
25/05/2007 - 19:28 | Informe spam
Disculpas, por insistir tanto. Per ahí va.

Este el SP que he creado, pero me falta una llenar una tabla
insert tblControlItems (PCCId, ...)
values (tblPreviewContactItems.PCCId , ...) Todo con los mismos registros y
diferentes campos

- INICIO SP
ALTER PROCEDURE [dbo].[P_BetaCargueAutomatico]
(
@campain int,
@descripcion varchar(100),
@Usucrea int
)
AS

BEGIN TRAN
declare @IdContactItemsPrevio int
select @IdContactItemsPrevio = max(PCID) from tblPreviewContactItems
declare @IdContactItemsUltimo int

set nocount on

insert into tblPreviewContactItems tiene un campo PCCId INT identity
(PCCampaignID,
PCCustomerIdentifier,
PCCustomerName,
PCNotes,
PCFirstContactOption,
PCFirstContactOptionDetails,
PCSecondContactOption,
PCSecondContactOptionDetails,
PCThirdContactOption,
PCThirdContactOptionDetails,
PCCurrentStatus,
PCCompletionStatus)
select
@campain,
PCCustomerIdentifier,
PCCustomerName,
' ',
PCFirstContactOption,
PCFirstContactOptionDetails,
PCSecondContactOption,
PCSecondContactOptionDetails,
PCThirdContactOption,
PCThirdContactOptionDetails,
0,
0
from BetaTblTemporalCargue - ESTA ES LA TABLA que menciono como
TEMPORAL

set @IdContactItemsUltimo = @@identity

if @@rowcount = 0
begin
rollback tran
select 0 AS hecho, 'Ocurrio un error al crear los registros en CCE,
tblPreviewContactItems' AS AVISO
return
end


insert into BetaTblCarguesResumen
(PCCampaignID,PCIDInicial,PCIDFinal,
NotaCargue,Usucrea)
values
(@campain,@IdContactItemsPrevio+1,@IdContactItemsUltimo,
@descripcion,@Usucrea)

if @@rowcount = 0
begin
rollback tran
select 0 AS hecho, 'Ocurrio un error al crear los registros en CCE,
BetaTblCarguesResumen' AS AVISO
return
end

commit tran
select 1 AS hecho, 'Actualización en el CCE realizado' AS AVISO


Atentamente,


Aventurero
Respuesta Responder a este mensaje
#7 Jesús López
26/05/2007 - 11:26 | Informe spam
Aventurero,

Lo siento mucho, pero no te puedo ayudar porque no sé lo que necesitas, no
me has proporcionado la información que te he pedido. Quizá otra persona del
grupo con más intuición pueda hacerlo.


Saludos:

Jesús López
www.solidq.com



"Aventurero" escribió en el mensaje
news:
Disculpas, por insistir tanto. Per ahí va.

Este el SP que he creado, pero me falta una llenar una tabla
insert tblControlItems (PCCId, ...)
values (tblPreviewContactItems.PCCId , ...) Todo con los mismos registros
y diferentes campos

- INICIO SP
ALTER PROCEDURE [dbo].[P_BetaCargueAutomatico]
(
@campain int,
@descripcion varchar(100),
@Usucrea int
)
AS

BEGIN TRAN
declare @IdContactItemsPrevio int
select @IdContactItemsPrevio = max(PCID) from tblPreviewContactItems
declare @IdContactItemsUltimo int

set nocount on

insert into tblPreviewContactItems tiene un campo PCCId INT identity
(PCCampaignID,
PCCustomerIdentifier,
PCCustomerName,
PCNotes,
PCFirstContactOption,
PCFirstContactOptionDetails,
PCSecondContactOption,
PCSecondContactOptionDetails,
PCThirdContactOption,
PCThirdContactOptionDetails,
PCCurrentStatus,
PCCompletionStatus)
select
@campain,
PCCustomerIdentifier,
PCCustomerName,
' ',
PCFirstContactOption,
PCFirstContactOptionDetails,
PCSecondContactOption,
PCSecondContactOptionDetails,
PCThirdContactOption,
PCThirdContactOptionDetails,
0,
0
from BetaTblTemporalCargue - ESTA ES LA TABLA que menciono como
TEMPORAL

set @IdContactItemsUltimo = @@identity

if @@rowcount = 0
begin
rollback tran
select 0 AS hecho, 'Ocurrio un error al crear los registros en CCE,
tblPreviewContactItems' AS AVISO
return
end


insert into BetaTblCarguesResumen
(PCCampaignID,PCIDInicial,PCIDFinal,
NotaCargue,Usucrea)
values
(@campain,@IdContactItemsPrevio+1,@IdContactItemsUltimo,
@descripcion,@Usucrea)

if @@rowcount = 0
begin
rollback tran
select 0 AS hecho, 'Ocurrio un error al crear los registros en CCE,
BetaTblCarguesResumen' AS AVISO
return
end

commit tran
select 1 AS hecho, 'Actualización en el CCE realizado' AS AVISO


Atentamente,


Aventurero

Respuesta Responder a este mensaje
#8 Aventurero
26/05/2007 - 15:49 | Informe spam
Si Jesús, parece enredado.
Pero la historia concreta es que se necesita hacer una campaña de Call
Center ligado a una aplicación que interactúa con una Planta Avaya
(BDSqlPlanta Tabla TLLAMADAS).
Se tienen unos vencimientos de unas Polizas, y se requiere hacer llamadas de
notificación (BDSqlPolizas hoja excel HojaVENCIM para cargar)
A TLLAMADAS necesito cargar los registros para que la planta lance las
llamadas. Ya no tengo más control
En TCONTROL necesito cargar los mismos registros pero con el autonumérico de
TLLAMADAS. Para saber que llamadas se hicieros.
En TRESUMEN necesito tener Fecha de Cargue, el autonumérico Inicial y el
Final y una descripción para saber que se cargó y cuando.

La verdad es que parece que se repita información, pero es que se necesita
información para dos Bases de Datos en distintos Servidores.

El único bache en este momento es lograr que TCONTROL tenga los mismos
registros pero con el Autonumérico de TLLAMADAS. Así haya redundancia.

Gracias nuevamente.

Atentamente,



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