Changes between Initial Version and Version 1 of Trigger4


Ignore:
Timestamp:
01/04/26 00:29:25 (3 days ago)
Author:
211101
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Trigger4

    v1 v1  
     1= Автоматско поставување на датум на трансакција
     2
     3==== Опис
     4Овој тригер автоматски го поставува датумот на трансакцијата (`date`) доколку при внесување на трансакција истиот не е зададен, базата на податоци ќе го користи тековниот системски датум и време
     5
     6Со ова се обезбедува дека секоја трансакција има валиден временски запис
     7
     8==== Табели опфатени со тригерот
     9- `transaction`
     10
     11==== Тип на тригер
     12- **BEFORE INSERT
     13Активиран над табелата `transaction`
     14
     15==== SQL код
     16{{{#!sql
     17CREATE OR REPLACE FUNCTION set_transaction_date()
     18RETURNS TRIGGER
     19LANGUAGE plpgsql
     20AS $$
     21BEGIN
     22    IF NEW.date IS NULL THEN
     23        NEW.date := NOW();
     24    END IF;
     25
     26    RETURN NEW;
     27END;
     28$$;
     29
     30
     31CREATE TRIGGER trg_set_transaction_date
     32BEFORE INSERT
     33ON transaction
     34FOR EACH ROW
     35EXECUTE FUNCTION set_transaction_date();
     36}}}
     37
     38==== Објаснување на логиката
     39Пред внесување на нова трансакција:
     40- се проверува дали колоната `date` е празна
     41- доколку е `NULL`, се поставува тековниот датум и време
     42
     43==== Причина за користење
     44Овој тригер е важен затоа што:
     45- овозможува стандардизирано однесување при внесување податоци
     46- времето е клучен атрибут за финансиски податоци
     47- апликацијата не секогаш е сигурен извор
     48- се елиминираат празни или невалидни датуми
     49Исто така:
     50- го поедноставува API-то
     51- ја намалува комплексноста на frontend-логиката