Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/02/2010, 01:14
jc3000
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Habilitar/Deshabilitar triggers

Cita:
Iniciado por bogeyboy Ver Mensaje
Buenas tardes a todos, quisiera a ver si me pudieran ayudar. Me explico, tengo un trigger que quiero poder habilitar o deshabilitar desde una función, lo intento con disable [nombre trigger] on [nombre_table] , también con alter trigger [nombre_trigger] [enable/disable] y con alter table [nombre_tabla] disable/enable all triggers y no ha funcionado ninguno. Tengo el siguiente trozo de código donde quiero que se ejecute:

if (condicion) then
disable trigger [nombre_trigger] on [nombre_tabla];
else
'más condiciones'
end if;

y no consigo que funcione, me podríais echar una manilla???? Gracias de antemano


Ok, no le veo sentido, pero si lo necesitas será por algo. La sentencia correcta es esta :

ALTER TRIGGER NOMBRE_DEL_TRIGGER DISABLE;

Peeeeeeeero como es una sentencia DDL no te funciona así, deberías hacerlo así .

EXECUTE IMMEDIATE ('ALTER TRIGGER NOMBRE_DEL_TRIGGER DISABLE');

Aunque si en la función se hace referencia a esa tabla no estoy seguro que te funcione ya que posiblemente te dé un error tipo ORA-00054, pero todo es probar ¿ no ?

Ya nos dirás.