Forums Últimos mensajes - Powered by IBM
 

Consulta sobre Triggers

10/11/2004 - 16:05 por klunin | Informe spam
Saludos amigos,
no he utilizado mucho los disparadores, pero cuando los he utilizado solo
necesite lo basico, ahora quiero hacer algo q talvez me puedan ayudar a
resolver lo q pasa es q envio un archivo de texto generado por un DTS y para
poder importar los datos de este archivo necesito hacer otro DTS pero como
puedo hacer para q no se dupliquen los datos, tengo una llave primaria y lo
es tratando de hacer es + o - esto diganme en q me equivoco

importo los datos con un dts en tablas diferentes de similar estructura, a
las cuales les creo un triggers y cada vez q se inserte un registro verifique
si existe y pueda insertar en la tabla correcta algo asi

CREATE TRIGGER tg_Flota_Actualiza_CInspeccion ON [dbo].[Archivo1]
AFTER INSERT
AS
If Not Exists (Select * from C_Inspecciones where convert(varchar(10),
id_inspeccion) + letra_digita in (select convert(varchar(10), Col001) +
Col002) from inserted)
/****/
aqui iria el codigo para insertar esta esto bien ?
/****/

como puedo hacer esto?, o si hay alguna forma mas rápida q no sea hacer una
rutina para leer el txt e insertar 1 x 1, pq mas rápdio es un dts.

agradesco su ayuda.
 

Leer las respuestas

#1 klunin
10/11/2004 - 16:34 | Informe spam
mejore el codigo

CREATE TRIGGER tg_Flota_Actualiza_CInspeccion ON [dbo].[Archivo1]
AFTER INSERT
AS
declare @id_inspeccion int, @letra_digita char(1)
select @id_inspeccion = Col001, @letra_digita = Col002 from inserted
If Not Exists (Select * from C_Inspecciones
where id_inspeccion = @id_inspeccion and letra_digita = @letra_digita)
Insert C_Inspecciones select * from inserted
Go

"klunin" escribió:

Saludos amigos,
no he utilizado mucho los disparadores, pero cuando los he utilizado solo
necesite lo basico, ahora quiero hacer algo q talvez me puedan ayudar a
resolver lo q pasa es q envio un archivo de texto generado por un DTS y para
poder importar los datos de este archivo necesito hacer otro DTS pero como
puedo hacer para q no se dupliquen los datos, tengo una llave primaria y lo
es tratando de hacer es + o - esto diganme en q me equivoco

importo los datos con un dts en tablas diferentes de similar estructura, a
las cuales les creo un triggers y cada vez q se inserte un registro verifique
si existe y pueda insertar en la tabla correcta algo asi

CREATE TRIGGER tg_Flota_Actualiza_CInspeccion ON [dbo].[Archivo1]
AFTER INSERT
AS
If Not Exists (Select * from C_Inspecciones where convert(varchar(10),
id_inspeccion) + letra_digita in (select convert(varchar(10), Col001) +
Col002) from inserted)
/****/
aqui iria el codigo para insertar esta esto bien ?
/****/

como puedo hacer esto?, o si hay alguna forma mas rápida q no sea hacer una
rutina para leer el txt e insertar 1 x 1, pq mas rápdio es un dts.

agradesco su ayuda.

Preguntas similares