MariaDB: desencadenar después de insertar

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MariaDB: desencadenar después de insertar

Este tutorial de MariaDB explica cómo Crear un disparador DESPUÉS DE INSERTAR En MariaDB, con sintaxis y ejemplos.

describir

El disparador DESPUÉS DE INSERTAR significa que MariaDB disparará este disparador después de realizar una operación INSERTAR.

sintaxis

La sintaxis para crear un disparador AFTER INSERT en MariaDB es:

CREATE TRIGGER trigger_name
AFTER INSERT
   ON table_name FOR EACH ROW

BEGIN

   -- variable declarations

   -- trigger code

END;

parámetro o parámetro

trigger_name El nombre del activador que se va a crear. DESPUÉS DE INSERTAR significa que se activa un disparador después de realizar una operación de INSERCIÓN. table_name El nombre de la tabla en la que se creó el disparador.

límite

  • No puede crear disparadores DESPUÉS en las vistas.
  • No puede actualizar nuevos valores.
  • No puede actualizar los valores antiguos.

notas

  • Consulte también Cómo crear disparadores DESPUÉS DE ELIMINAR, DESPUÉS DE ACTUALIZAR, ANTES DE ELIMINAR, ANTES DE INSERTAR y ANTES DE ACTUALIZAR.
  • Consulte también Cómo eliminar disparadores.

ejemplo

Veamos un ejemplo de cómo crear un disparador AFTER INSERT usando la declaración CREATE TRIGGER en MariaDB.

Si creas una tabla como esta:

CREATE TABLE contacts
( contact_id INT(11) NOT NULL AUTO_INCREMENT,
  last_name VARCHAR(30) NOT NULL,
  first_name VARCHAR(25),
  birthday DATE,
  CONSTRAINT contacts_pk PRIMARY KEY (contact_id)
);

Entonces podemos usar la declaración CREATE TRIGGER para crear un disparador AFTER INSERT de la siguiente manera:

DELIMITER //

CREATE TRIGGER contacts_after_insert
AFTER INSERT
   ON contacts FOR EACH ROW

BEGIN

   DECLARE vUser varchar(50);

   -- Find username of person performing the INSERT into table
   SELECT USER() INTO vUser;

   -- Insert record into audit table
   INSERT INTO contacts_audit
   ( contact_id,
     created_date,
     created_by)
   VALUES
   ( NEW.contact_id,
     SYSDATE(),
     vUser );

END; //

DELIMITER ;
(Visited 13 times, 1 visits today)