¿Cómo utilizar activadores en la base de datos?
Los desencadenadores son un tipo especial de procedimientos almacenados. Los desarrolladores también pueden definir y escribir desencadenadores que satisfagan las necesidades comerciales para mantener la integridad de los datos. El flujo de control y las declaraciones de control de los desencadenadores son los mismos que los de los procedimientos almacenados, pero aún existen diferencias considerables entre los desencadenadores y los procedimientos almacenados. Como administrador o programador de datos, debe hacerlo. Ser competente en la activación. El uso del servidor es muy importante para mantener y operar la base de datos. Sintaxis básica 1. Crear formato de sintaxis de activación Sintaxis de creación: CREATETRIGGER Nombre del activador Punto de tiempo del activador Evento de activación ON Nombre de la tabla FOREACHROWBEGIN…END Entre ellos, el punto de tiempo del activador: ANTES o DESPUÉS, que indica si se ejecutará antes o después del evento de activación.
Eventos desencadenantes: INSERTAR, ACTUALIZAR, ELIMINAR eventos. Por ejemplo, la siguiente declaración crea un activador llamado upd_check, que se activa automáticamente antes (ANTES) de la operación de actualización (ACTUALIZAR) en la tabla de cuentas.
CREATETRIGGERupd_checkBEFOREUPDATEONaccountFOREACHROWBEGIN…END2. Eliminar el formato de sintaxis del activador DROPTRIGGER nombre del activador 3. Caso del activador Utilice el script tab.sql para crear un entorno de tabla y luego utilice la siguiente instrucción para crear un activador. Este activador se activará cuando se agregue un registro a la tabla tab1 y el nuevo registro se insertará en la tabla tab2 al mismo tiempo.
DELIMITER//DROPTRIGGERIFEXISTSt_afterinsert_on_tab1;CREATETRIGGERt_afterinsert_on_tab1AFTERINSERTONtab1FOREACHROWBEGINinsertintotab2(tab2_id)values(new.tab1_id);END;//DELIMITER;Cuando se utiliza la siguiente instrucción para insertar registros en la tabla tab1, también se agrega la misma a la tab2 table.registros Como se muestra en la figura tabla de datos tab1
tabla de datos tab1
tabla de datos tab2
INSERTINTOtab1 (tab1_id) valores ('0001')
tab.sql