Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Script de Triggers

Estas en el tema de Script de Triggers en el foro de Bases de Datos General en Foros del Web. Hola: Mi pregunta es si puedo hacer un script (secuencia de comandos de SQL), que contenga un drop a todos los triggers de la bd ...
  #1 (permalink)  
Antiguo 29/06/2004, 15:54
 
Fecha de Ingreso: febrero-2002
Mensajes: 73
Antigüedad: 22 años, 9 meses
Puntos: 0
Script de Triggers

Hola:

Mi pregunta es si puedo hacer un script (secuencia de comandos de SQL), que contenga un drop a todos los triggers de la bd donde lo corra y un create de triggers.

Lo he intentado; pero no me permite generarlo sino hago secuencia junto con las tablas.

Gracias.

Salu2.
  #2 (permalink)  
Antiguo 29/06/2004, 16:14
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
no se como se hace en SQL SERVER (asumiendo que con eso estas trabajando)... te doy como lo hago con Oracle.

SELECT 'drop triggers '||TRIGGER_NAME||';'
FROM dba_triggers;

luego simplemente el listado que me da lo copio y lo ejecuto.

Supongo que SQL SERVER debe guardar los triggers en una tabla administrativa al igual que Oracle.
  #3 (permalink)  
Antiguo 29/06/2004, 17:13
 
Fecha de Ingreso: febrero-2002
Mensajes: 73
Antigüedad: 22 años, 9 meses
Puntos: 0
... Pues hablo de Microsoft SQL Server 2000
  #4 (permalink)  
Antiguo 29/06/2004, 17:31
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
Pues al parecer puedes ver el listado de triggers con SP_HELPTRIGGERS y dicho resultado simplemente agregarle el DROP

sp_helptriggers
  #5 (permalink)  
Antiguo 29/06/2004, 17:39
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 11 meses
Puntos: 11
efectivamente, Sql Server tiene una tabla donde guarda los diferentes objetos... se llama SYSOBJECTS por lo que la consulta te quedaria asi:


SELECT 'drop triggers ' + name + ';'
FROM sysobjects
WHERE xtype = 'TR';

te dara un resultado mas o menos asi:

drop triggers mitriggers1;
drop triggers mitriggers2;
drop triggers mitriggers3;
drop triggers mitriggers4;
drop triggers mitriggers5;


luego solo copias a la memoria del teclado y luego pegas en el SQL>
  #6 (permalink)  
Antiguo 30/06/2004, 11:58
 
Fecha de Ingreso: febrero-2002
Mensajes: 73
Antigüedad: 22 años, 9 meses
Puntos: 0
Gracias, voy a checarlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:10.