Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Oracle
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 21-10-2004
aglopez aglopez is offline
Miembro
 
Registrado: may 2003
Posts: 11
Poder: 0
aglopez Va por buen camino
Thumbs up Mira el siguiente ejemplo

Este es un disparador de BD que tengo creado para auditar
unos cambios en la tabla ARTICULOS

A ver si es esto lo que estabas buscando.

Código SQL [-]
CREATE OR REPLACE TRIGGER "GESTION".CAMBIO_ARTICULOS
  BEFORE UPDATE
  ON ARTICULOS FOR EACH ROW
WHEN ( (OLD.ACTIVO<>NEW.ACTIVO) OR
       (OLD.INTERNET<>NEW.INTERNET) OR
       (OLD.TIPO_EVAL<>NEW.TIPO_EVAL) )
DECLARE
  FEC DATE;
  N INTEGER;
  MODU VARCHAR2(50);
  MAC VARCHAR2(40);
BEGIN
  SELECT SUBSTR(MACHINE,1,40) INTO MAC
  FROM V$SESSION
  WHERE AUDSID=USERENV('SESSIONID');
  BEGIN
    SELECT MODULO_ACTUAL INTO MODU FROM USUARIOS WHERE LOGIN=MAC;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      MODU:='DESCONOCIDO';
  END;
  INSERT INTO CAMBIO_ARTICULOS
  SELECT SYSDATE,MAC,MODU,:OLD.ID_ARTICULO,:OLD.ACTIVO,:NEW.ACTIVO,:OLD.INTERNET,
       :NEW.INTERNET,:OLD.TIPO_EVAL,:NEW.TIPO_EVAL FROM DUAL;
END;
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:49:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi