Triggers no corren cuando uso DTS

27/01/2005 - 00:47 por Axel | Informe spam
Cuando paso informacion por un DTS de una base de datos a otra los triggers
de la tabla destino no se ejecutan. O si lo hago por un export normalito,
igual no se ejecutan los triggers de la tabla destino.

Sabe alguien por que ? esto es normal ? se puede hacer algo para que si se
ejecuten ?

Cuando hago un insert into en una tabla de una base de datos a partir de
otra tabla igual en otra base de datos. El trigger de insert que tiene la
tabla destino, solo procesa la ultima linea insertada.

Sabe alguien por que ? se puede hacer algo para que se ejecute el
trigger´para para todos los registros insertados ?


Agradezco la ayuda que alguien me pueda brindar

Atte.
Axel Espn

Preguntas similare

Leer las respuestas

#1 MAXI
27/01/2005 - 00:50 | Informe spam
Hola Axel, y esos triggers estan pensados para trabajar con conjunto de
registros o registro a registro?



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Axel" <axel_espn@(borrar)hotmail.com> escribió en el mensaje
news:
Cuando paso informacion por un DTS de una base de datos a otra los
triggers
de la tabla destino no se ejecutan. O si lo hago por un export
normalito,
igual no se ejecutan los triggers de la tabla destino.

Sabe alguien por que ? esto es normal ? se puede hacer algo para que si
se
ejecuten ?

Cuando hago un insert into en una tabla de una base de datos a partir de
otra tabla igual en otra base de datos. El trigger de insert que tiene la
tabla destino, solo procesa la ultima linea insertada.

Sabe alguien por que ? se puede hacer algo para que se ejecute el
trigger´para para todos los registros insertados ?


Agradezco la ayuda que alguien me pueda brindar

Atte.
Axel Espn
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP]
27/01/2005 - 01:04 | Informe spam
La opción por defecto al hacer un bulk load de datos en DTS es que _NO_
se activen los triggers. Debes desmarcar la opción 'use fast load'
(selecciona la Data Transformation Task, clic derecho, solapa Options).

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and
confers no rights.



"Axel" <axel_espn@(borrar)hotmail.com> wrote in message
news:axel_espn@(borrar)hotmail.com:
Cuando paso informacion por un DTS de una base de datos a otra los
triggers
de la tabla destino no se ejecutan. O si lo hago por un export
normalito,
igual no se ejecutan los triggers de la tabla destino.

Sabe alguien por que ? esto es normal ? se puede hacer algo para que si
se
ejecuten ?

Cuando hago un insert into en una tabla de una base de datos a partir de

otra tabla igual en otra base de datos. El trigger de insert que tiene la

tabla destino, solo procesa la ultima linea insertada.

Sabe alguien por que ? se puede hacer algo para que se ejecute el
triggerÂŽpara para todos los registros insertados ?


Agradezco la ayuda que alguien me pueda brindar

Atte.
Axel Espn
Respuesta Responder a este mensaje
#3 Axel
27/01/2005 - 01:23 | Informe spam
Hola MAXI, agradezco tu pronta respuesta.

Pues mira si me pudieras decir como hago un trigger para trabajar con un
conjunto de registros... por que bueno al ser no muy experto, como se ve que
eres tu, entiendo que el trigger que puse en la tabla deberia trabajar todo
lo que se inserte.
este es por cierto:
CREATE TRIGGER Insert_JDE_F570501A ON [cat_servicios]
FOR INSERT
AS
/* Este trigger es solo para paso de inf. de cat_servicios a F570501A , ya
que en JDE se definieron otros Nombres de Tablas y campos que estos donde
IMSS Inserta*/

declare @almacen varchar (13), @CveSer varchar (3), @Desc varchar(30) ,
@JDEDate int, @JDETime int, @Today datetime

SELECT @Today= GETDATE()
SELECT @JDEDate=PRODDTA.NormaltoJDEDATE (@Today)
SELECT @JDETime= PRODDTA.GetJDETimeFromSQLGetDate(@Today)

select @almacen=clas_ptal, @CveSer=Cve_servicio, @Desc=Desc_servicio from
inserted

insert into PRODDTA.F570501A values (@almacen, @CveSer, @Desc, @JDEDate,
@JDETime)

Como veras MAXI es un trigger muy sencillo que practicamente pasa los datos
de una tabla a otra muy similar.

esta es mi dir de correo por si quieres escribirme. Gracias


"MAXI" escribió:

Hola Axel, y esos triggers estan pensados para trabajar con conjunto de
registros o registro a registro?



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Axel" <axel_espn@(borrar)hotmail.com> escribió en el mensaje
news:
> Cuando paso informacion por un DTS de una base de datos a otra los
> triggers
> de la tabla destino no se ejecutan. O si lo hago por un export
> normalito,
> igual no se ejecutan los triggers de la tabla destino.
>
> Sabe alguien por que ? esto es normal ? se puede hacer algo para que si
> se
> ejecuten ?
>
> Cuando hago un insert into en una tabla de una base de datos a partir de
> otra tabla igual en otra base de datos. El trigger de insert que tiene la
> tabla destino, solo procesa la ultima linea insertada.
>
> Sabe alguien por que ? se puede hacer algo para que se ejecute el
> trigger´para para todos los registros insertados ?
>
>
> Agradezco la ayuda que alguien me pueda brindar
>
> Atte.
> Axel Espn



Respuesta Responder a este mensaje
#4 ulises
27/01/2005 - 01:41 | Informe spam
Con permiso de Maxi, en primer lugar en la tabla inserted
no tendrás un solo registro sino todo el conjunto de los
registros insertados, con ese considerando tendrías que
modificar el trigger para que hago algo como :

...
insert into PRODDTA.F570501A
select clas_ptal,
Cve_servicio,
Desc_servicio,
@JDEDate,
@JDETime
from inserted

...
Saludos,
Ulises

Hola MAXI, agradezco tu pronta respuesta.

Pues mira si me pudieras decir como hago un trigger para


trabajar con un
conjunto de registros... por que bueno al ser no muy


experto, como se ve que
eres tu, entiendo que el trigger que puse en la tabla


deberia trabajar todo
lo que se inserte.
este es por cierto:
CREATE TRIGGER Insert_JDE_F570501A ON [cat_servicios]
FOR INSERT
AS
/* Este trigger es solo para paso de inf. de cat_servicios


a F570501A , ya
que en JDE se definieron otros Nombres de Tablas y campos


que estos donde
IMSS Inserta*/

declare @almacen varchar (13), @CveSer varchar (3), @Desc


varchar(30) ,
@JDEDate int, @JDETime int, @Today datetime

SELECT @Today= GETDATE()
SELECT @JDEDate=PRODDTA.NormaltoJDEDATE (@Today)
SELECT @JDETime= PRODDTA.GetJDETimeFromSQLGetDate(@Today)

select @almacen=clas_ptal, @CveSer=Cve_servicio,


@Desc=Desc_servicio from
inserted

insert into PRODDTA.F570501A values (@almacen, @CveSer,


@Desc, @JDEDate,
@JDETime)

Como veras MAXI es un trigger muy sencillo que


practicamente pasa los datos
de una tabla a otra muy similar.

esta es mi dir de correo por si quieres escribirme. Gracias


"MAXI" escribió:

Hola Axel, y esos triggers estan pensados para trabajar




con conjunto de
registros o registro a registro?



Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)

MSN:
"Axel" <axel_espn@(borrar)hotmail.com> escribió en el




mensaje
news:
> Cuando paso informacion por un DTS de una base de




datos a otra los
> triggers
> de la tabla destino no se ejecutan. O si lo hago por




un export
> normalito,
> igual no se ejecutan los triggers de la tabla destino.
>
> Sabe alguien por que ? esto es normal ? se puede




hacer algo para que si
> se
> ejecuten ?
>
> Cuando hago un insert into en una tabla de una base de




datos a partir de
> otra tabla igual en otra base de datos. El trigger de




insert que tiene la
> tabla destino, solo procesa la ultima linea insertada.
>
> Sabe alguien por que ? se puede hacer algo para que




se ejecute el
> triggerÂŽpara para todos los registros insertados ?
>
>
> Agradezco la ayuda que alguien me pueda brindar
>
> Atte.
> Axel Espn





.

Respuesta Responder a este mensaje
#5 Axel
27/01/2005 - 02:01 | Informe spam
Ulises

Muchas gracias eso explica lo de que solo se inseta la ultima line cuando
inserto muchos por query analyzer.

Gracias Otra vez. te debo una...

"ulises" wrote:

Con permiso de Maxi, en primer lugar en la tabla inserted
no tendrás un solo registro sino todo el conjunto de los
registros insertados, con ese considerando tendrías que
modificar el trigger para que hago algo como :


insert into PRODDTA.F570501A
select clas_ptal,
Cve_servicio,
Desc_servicio,
@JDEDate,
@JDETime
from inserted


Saludos,
Ulises

>Hola MAXI, agradezco tu pronta respuesta.
>
>Pues mira si me pudieras decir como hago un trigger para
trabajar con un
>conjunto de registros... por que bueno al ser no muy
experto, como se ve que
>eres tu, entiendo que el trigger que puse en la tabla
deberia trabajar todo
>lo que se inserte.
>este es por cierto:
>CREATE TRIGGER Insert_JDE_F570501A ON [cat_servicios]
>FOR INSERT
>AS
>/* Este trigger es solo para paso de inf. de cat_servicios
a F570501A , ya
>que en JDE se definieron otros Nombres de Tablas y campos
que estos donde
>IMSS Inserta*/
>
>declare @almacen varchar (13), @CveSer varchar (3), @Desc
varchar(30) ,
>@JDEDate int, @JDETime int, @Today datetime
>
>SELECT @Today= GETDATE()
>SELECT @JDEDate=PRODDTA.NormaltoJDEDATE (@Today)
>SELECT @JDETime= PRODDTA.GetJDETimeFromSQLGetDate(@Today)
>
>select @almacen=clas_ptal, @CveSer=Cve_servicio,
@Desc=Desc_servicio from
>inserted
>
>insert into PRODDTA.F570501A values (@almacen, @CveSer,
@Desc, @JDEDate,
>@JDETime)
>
>Como veras MAXI es un trigger muy sencillo que
practicamente pasa los datos
>de una tabla a otra muy similar.
>
>esta es mi dir de correo por si quieres escribirme. Gracias
>
>
>"MAXI" escribió:
>
>> Hola Axel, y esos triggers estan pensados para trabajar
con conjunto de
>> registros o registro a registro?
>>
>>
>>
>> Maxi
>>
>> Buenos Aires - Argentina
>> Desarrollador .NET 3 Estrellas
>> Microsoft User Group (MUG)
>>
>> MSN:
>> "Axel" <axel_espn@(borrar)hotmail.com> escribió en el
mensaje
>> news:
>> > Cuando paso informacion por un DTS de una base de
datos a otra los
>> > triggers
>> > de la tabla destino no se ejecutan. O si lo hago por
un export
>> > normalito,
>> > igual no se ejecutan los triggers de la tabla destino.
>> >
>> > Sabe alguien por que ? esto es normal ? se puede
hacer algo para que si
>> > se
>> > ejecuten ?
>> >
>> > Cuando hago un insert into en una tabla de una base de
datos a partir de
>> > otra tabla igual en otra base de datos. El trigger de
insert que tiene la
>> > tabla destino, solo procesa la ultima linea insertada.
>> >
>> > Sabe alguien por que ? se puede hacer algo para que
se ejecute el
>> > trigger´para para todos los registros insertados ?
>> >
>> >
>> > Agradezco la ayuda que alguien me pueda brindar
>> >
>> > Atte.
>> > Axel Espn
>>
>>
>>
>.
>

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida