CREATE TRIGGER

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

Sintassi

CREATE
    [DEFINER = { utente | CURRENT_USER }]
    TRIGGER nome_trigger tempo evento
    ON nome_tab FOR EACH ROW istruzioni_trigger

Spiegazione

Questa istruzione crea un nuovo trigger. Un trigger è un oggetto dei database con nome, associato a una tabella, che si attiva quando un particolare evento si verifica sulla tabella. Il trigger viene associato alla tabella chiamata nome_tab, che deve essere una tabella permanente. Non è possibile associare un trigger a una tabella temporanea o una vista.

Per eseguire CREATE TRIGGER è necessario il privilegio TRIGGER sulla tabella associata al trigger. (Prima di MySQL 5.1.6, questa istruzione richiedeva il privilegio SUPER.)

La clausola DEFINER determina il contesto di sicurezza da usare per verificare i privilegi quando il trigger si attiva.

tempo è il momento in cui agisce il trigger. Può essere BEFORE o AFTER per indicare che il trigger si attiva prima o dopo la modifica di una certa riga.

evento indica il tipo di istruzione che deve attivare il trigger. Può essere uno dei seguenti:

  • INSERT: Il trigger si attiva quando una nuova riga viene inserita nella tabella; per esempio con le istruzioni INSERT, LOAD DATA e REPLACE.
  • UPDATE: Il trigger si attiva quando una riga viene modificata; per esempio, con le istruzioni UPDATE.
  • DELETE: Il trigger si attiva quando una riga viene eliminata dalla tabella; per esempio, con le istruzioni DELETE e REPLACE. Tuttavia, le istruzioni DROP TABLE e TRUNCATE non attivano i trigger, perché non usano DELETE. Nemmeno l'eliminazione di una partizione attiva DELETE.

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.