Triggeri pentru inregistrarea datei şi timpului

Triggerii sunt coduri care, la producerea unui eveniment, rulează codul asociat. Pot fi utile, mai ales la înregistrarea componentelor temporale, în funcţie de inserarea, actualizarea sau ştergerea unor înregistrări, realizarea unor calcule etc. Pot fi creaţi/modificaţi vizual (de ex. prin phpMyAdmin) sau prin cod.

Crearea tabelei pentru aplicarea triggerilor

Pentru a putea exemplifica nişte triggeri simpli, vom crea o tabelă cu două câmpuri de tip timestamp.

Trigger la INSERT

Dacă se foloseşte formularul, conţinutul ar fi precum cel de jos.

După cum se vede, mai jos, la inserarea unei înregistrări a apărut data curentă.

Desigur, pentru inserarea datei curente la introducerea unei noi înregistrări, se putea alege, pentru câmpul respectiv, scriptul , `data_in` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP sau se poate modifica caracterista câmpului ulterior, astfel: ALTER TABLE `t_test_trig` ADD `data_in` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; 

Trigger la UPDATE

Dacă se foloseşte formularul, conţinutul ar fi precum cel de jos.

În cazul în care ar fi doar un câmp de tip TIMESTAMP, se poate seta, în structura câmpului, opţiunea de inserare a datei curente la modificarea conţinutului înregistrării.

Într-o tabelă poate exista doar o coloană de tip TIMESTAMP care să aibă valoarea CURRENT_TIMESTAMP în clauza DEFAULT sau ON UPDATE.
ALTER TABLE `t_test_trig` ADD `data_upd` TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL AFTER `category`; 

Author: Ovidiu.S

Suficient de pasionat de această zonă profesională ca, în cazul în care ştiu ceva - cât de puţin - să împărtăşesc cu alţii.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *