= Автоматско поставување на датум на трансакција ==== Опис Овој тригер автоматски го поставува датумот на трансакцијата (`date`) доколку при внесување на трансакција истиот не е зададен, базата на податоци ќе го користи тековниот системски датум и време Со ова се обезбедува дека секоја трансакција има валиден временски запис ==== Табели опфатени со тригерот - `transaction` ==== Тип на тригер - **BEFORE INSERT Активиран над табелата `transaction` ==== SQL код {{{#!sql CREATE OR REPLACE FUNCTION set_transaction_date() RETURNS TRIGGER LANGUAGE plpgsql AS $$ BEGIN IF NEW.date IS NULL THEN NEW.date := NOW(); END IF; RETURN NEW; END; $$; CREATE TRIGGER trg_set_transaction_date BEFORE INSERT ON transaction FOR EACH ROW EXECUTE FUNCTION set_transaction_date(); }}} ==== Објаснување на логиката Пред внесување на нова трансакција: - се проверува дали колоната `date` е празна - доколку е `NULL`, се поставува тековниот датум и време ==== Причина за користење Овој тригер е важен затоа што: - овозможува стандардизирано однесување при внесување податоци - времето е клучен атрибут за финансиски податоци - апликацијата не секогаш е сигурен извор - се елиминираат празни или невалидни датуми Исто така: - го поедноставува API-то - ја намалува комплексноста на frontend-логиката