Sintaxis:
La siguiente es la sintaxis simple para generar un disparador:
>> Crear disparador gatillo_name [antes | después | en lugar de] name de eventos en table_name [----- lógica de activación];
Aquí está la explicación de la consulta general anterior.
Para comprender brevemente el concepto de activación, inicie el shell PostgreSQL desde las aplicaciones. Cambie el servidor si desea trabajar en otro servidor, o presione Entrar desde su teclado. Agregue el nombre de la base de datos en el que desea trabajar, de lo contrario, déjelo como está y toca Enter. Como puede ver, actualmente hemos trabajando en el puerto 5432 como predeterminado; También puedes cambiarlo. Después de eso, proporcione un nombre de usuario que no sea Postgres si desea trabajar con otro usuario, o de lo contrario, dejelo en blanco y presione el botón ENTER. Ahora el shell de su comando está listo para ser utilizado.
Activar el comando insertar
Veamos el ejemplo de un disparador cuando el comando insertar se ha utilizado como evento de activación. Para esto, tenemos que crear dos nuevas tablas, E.gramo., "Emplear" y "Auditoría". La tabla "emplear" contendrá los registros personales de los empleados de una empresa específica y la tabla "auditoría" contendrá la información sobre cuándo los empleados se unieron a la empresa. Las consultas para crear las tablas se dan a continuación.
>> Crear tabla empleado (ID entero no es una clave primaria nula, nombre varchar (100) no nulo, edad varchar (100) no nulo, salario varchar (100) no nulo);
>> Crear auditoría de tabla (Integer Empid no NULL, Entry_Date Varchar (100) no NULL);
Debe crear un procedimiento que se ejecutará automáticamente o funcione cuando se llame al disparador. Se utilizará en el comando Crear activador. Desde el siguiente comando, puede tener una idea de que hemos estado creando un procedimiento "AuditLogFunc ()", que devolverá un desencadenante como variable "$ examp_table $". La función comienza con la cláusula BEGIN, seguida de la instrucción Insertar. Esta instrucción Insertar inserta ID automática y fecha de tiempo actual utilizando la función incorporada en la tabla "Auditoría" y devuelve este resultado a disparar.
Es hora de generar un disparador usando el comando Crear activador. Creamos un desencadenante llamado "Emp_trig" en la tabla "Emplear". La cláusula después de insertar significa que este disparador solo funcionará después de la ejecución del comando insertar. Para cada fila significa en la ejecución de cada comando de inserción, este desencadenante llamará y ejecutará el procedimiento "AuditLogFunc ()" creado justo antes.
>> Crear disparador emp_trig después de insertar en emplear para cada fila Ejecutar procedimiento auditLogFunc ();
Es hora de insertar algunos datos en la tabla "Emplear". Ejecutar el siguiente comando de inserción en el shell.
>> Insertar en los valores de empleo (id, nombre, edad, salario) ('1' ',' Pablo ',' 34 ',' 60000 ');
Echa un vistazo a la tabla "Emplear". Los datos se han agregado correctamente con el comando insertar.
Ahora tenga un vistazo de la tabla de "auditoría". Puede ver, también se actualiza debido al activador "Emp_trig" y AuditLogFunc ().
Activar el comando de actualización
Ahora estaremos mirando un ejemplo de un activador utilizando el comando de actualización como un evento de activación. Tenemos que crear un nuevo procedimiento nuevamente con el nombre diferente "Actualización" como se presenta en la imagen. Este procedimiento también insertará registros en la tabla 'Auditoría' a la llamada.
Ahora, cree un nuevo disparo llamado "update_emp" usando el comando Crear activador. Esto solo funcionará después de la ejecución de la consulta de actualización en la tabla empleada y llamará al procedimiento "actualización".
Actualice la tabla "Emplear" configurando su ID en "2".
Obtenga los registros de una tabla "Emplear" para ver los cambios a continuación adjunto.
Como puede ver en la tabla "Auditoría", se ha reorganizado a medida que se actualizó la tabla "emplear".
Activar el comando Eliminar
Abra Pgadmin 4 de aplicaciones para trabajar en GUI PostgreSQL. Bajo el esquema "prueba", descubrirá una lista de tablas. Cree una nueva tabla "EMP" y la misma tabla de "Auditoría".
Esta vez invocaremos el comando de activación por el comando Eliminar. A continuación se muestra la tabla "EMP" con algunos registros.
Aquí está la tabla de auditoría con las dos actualizaciones anteriores.
Cree un procedimiento llamado "Del ()" para activar la inserción en la tabla "Auditoría" al eliminar los registros de la tabla "EMP".
Cree un disparador "Del_trig" usando la consulta de activación Crear. Este desencadenante ejecutará el procedimiento "del" cuando se realizará una cláusula de eliminación en la tabla "EMP".
Eliminemos un registro de la tabla "EMP" donde la "identificación" del empleado es "5". Eliminará una fila de la tabla "EMP".
Obtenga los registros de la tabla "emp" y eche un vistazo. Puede ver que la fila ha sido eliminada donde la "identificación" fue "5".
Ahora extraiga los registros de la tabla "Auditoría" y notará que se ha actualizado porque la operación Eliminar se ha realizado en la tabla "EMP".
Conclusión:
Hemos hecho casi todos los ejemplos esenciales para comprender el concepto de activación mientras realizamos operaciones de inserción, actualización y eliminación.