Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 29-jun-2004, 15:54   #1 (permalink)
alvinceb está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 54
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.
alvinceb está desconectado   Responder Citando
Antiguo 29-jun-2004, 16:14   #2 (permalink)
Colaborador
Linterns tiene algunos puntos positivos de karma
 
Avatar de Linterns
 
Fecha de Ingreso: noviembre-2002
Mensajes: 2.803
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.
Linterns está desconectado   Responder Citando
Antiguo 29-jun-2004, 17:13   #3 (permalink)
alvinceb está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 54
... Pues hablo de Microsoft SQL Server 2000
alvinceb está desconectado   Responder Citando
Antiguo 29-jun-2004, 17:31   #4 (permalink)
Colaborador
Linterns tiene algunos puntos positivos de karma
 
Avatar de Linterns
 
Fecha de Ingreso: noviembre-2002
Mensajes: 2.803
Pues al parecer puedes ver el listado de triggers con SP_HELPTRIGGERS y dicho resultado simplemente agregarle el DROP

sp_helptriggers
Linterns está desconectado   Responder Citando
Antiguo 29-jun-2004, 17:39   #5 (permalink)
Colaborador
Linterns tiene algunos puntos positivos de karma
 
Avatar de Linterns
 
Fecha de Ingreso: noviembre-2002
Mensajes: 2.803
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>
Linterns está desconectado   Responder Citando
Antiguo 30-jun-2004, 11:58   #6 (permalink)
alvinceb está en el buen camino
 
Fecha de Ingreso: noviembre-2002
Mensajes: 54
Gracias, voy a checarlo
alvinceb está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 13:11.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93