Se pueden crear 2 Triggers para la misma tabla

Señores soy nuevo en esta plataforma de Powewr Builder, deseo deseo saber si se pueden crear 2 Triggers, ¿qué actualicen la misma tabla?
¿Por qué depende de la condición se actualizaran uno u otros campos de la misma tabla?
Es posible hacer esto, y si es así, ¿cómo se indica que Trigger ejecutar?
Estaré atento a sus comentarios
Raul
Señores soy nuevo en esta plataforma de Powewr Builder, deseo deseo saber si se pueden crear 2 Triggers, ¿qué actualicen la misma tabla?
¿Por qué depende de la condición se actualizaran uno u otros campos de la misma tabla?
Es posible hacer esto, y si es así, ¿cómo se indica que Trigger ejecutar?
Estaré atento a sus comentarios
Raul

1 Respuesta

Respuesta
1
No puedes crear 2 trigger para la misma accion echa sobre la tabla. Por ejemplo solo puedes crear hasta 3 trigger por tabla. Los cuales serian
create trigger t_nombre on tabla
for update
as
******
create trigger t_nombre on tabla
for delete
as
******
create trigger t_nombre on tabla
for insert
as
/////////////////////////////////////////////////
Pues bien si quizas quieras que segun la condicion se actualizen ciertos campos y no todos puedes hacer lo siguiente
create trigger t_nombre on tabla
for update
as
begin
if update (nombre_cliente)
begin
    <instruccion que solo se ejecutara cuando se actualize el nombre del cliente>
end
end
/// Con el trigger anterior te aseguraras que solo se dispare cuando actualices la columna nombre_cliente de tu tabla. Cualquier cosa solo pregunta.
Muchas gracias amigo por tu ayuda, pero necesito aclarar este tema, y mis dudas van a si se le pone nombre a los trigger
1.¿0 También debe existir algún comando que lo ejecute?
2.¿0 Cómo se que se ejecutara el trigger?
3.¿0 Podrías por favor crear un par de líneas donde exista por ej. un script que actualice una tabla y que por otro lado se dispare en trigger asociado a esa tabla?
La verdad este punto es el que más me produce confusión, no sé cómo se ejecutar el trigger
Yo me imagino que si tengo un escrip donde tenga la siguiente instrucción
update tb_ctrol_bto, automáticamente se dispara el trigger asociado a esta tabla??
Estaré atento a sus comentarios
Raul
Los trigger claro que necesitan un nombre, ahora se disparan CUANDO EJECUTES ALGÚN CAMBIO SOBRE TU TABLA ya sea con UPDATE INSERT DELETE, te pondere el ejemplo.
create trigger t_nombre_trigger
on TablaCliente
for update
as
begin
    <instruccion que solo se ejecutara cuando se actualize cualquier dato de la TablaCliemte>
end
****** eso es por un lado el trigger
*****
Ahora ese trigger se dispara AUTOMATICAMENTE cuando hagas un UPDATE sobre la tabla como lo indica el trigger FOR UPDATE.
Se dispara cuando hagas algo asi.
Update TablaCliente set NombreCliente = 'CARLOS' where IdCliente = '001'

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas