> Faqs > Ayuda con un trigger

Ayuda con un trigger

Hola a migos a ver si me orientan un poco, estoy tratando de hacer un trigger para una tabla que se llama c_proveedor, la idea es disparar el trigger cuando alguien haga un cambio de un campo mi poblema es que tengo tres campos en el trigger que son AUDITO_CAMPOAUDITO,AUDITO_VALORANTE,AUDIO_VALNUEVO Lo que no se es como decirle al trigger que identifique cual es el campo que se hizo el cambio este es mi trigger

<span class="codigo"> CREATE TRIGGER AUDITORIA AFTER UPDATE ON C_PROVEEDOR,
FOR EACH ROW BEGIN
INSERT INTO G_AUDITO (USUARI_CODIGO,AUDITO_FECHA_AUDITO,AUDITO_TIPOMOVIM, AUDITO_TABLAAUDITO,AUDITO_CAMPOAUDITO,AUDITO_VALORANTE,AUDIO_VALNUEVO) VALUES (s_username,NOW(),INSERT,PROVEEDOR,AUDITO_CAMPOAUDITO,AUDITO_VALORANTE,AUDIO_VALNUEVO)

</span> Y esta es la estructura de mi tabla

CREATE TABLE IF NOT EXISTS c\_proveedor (
PROVED\_CODIGO int(5) NOT NULL auto_increment,
PROVED\_RAZSOC varchar(40) NOT NULL,
PROVED\_RUC varchar(14) NOT NULL,
PROVED\_TIPO varchar(1) NOT NULL,
PROVED\_DIREC varchar(20) NOT NULL,
PROVED\_TELEF varchar(13) NOT NULL,
PROVED\_OBSERVA varchar(30) default NULL,
PROVED\_STATUS varchar(3) NOT NULL, PRIMARY KEY (PROVED\_CODIGO) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Respuestas

cuando estas haciendo un insert desde el trigger podes acceder a una tabla que se llama inserted que contienen todos los campos de la tabla que estas por insertar ejemplo INSERT INTO G_AUDITO (USUARI_CODIGO,AUDITO_FECHA_AUDITO,AUDITO_TIPOMOVIM,AUDITO_TABLAAUDITO, AUDITO_CAMPOAUDITO,AUDITO_VALORANTE,AUDIO_VALNUEVO) VALUES select s_username,NOW(),INSERT,PROVEEDOR,AUDITO_CAMPOAUDITO, AUDITO_VALORANTE,AUDIO_VALNUEVO from inserted y adentro,

Mariano