Senin, 11 Maret 2013

Trigger di PosgreSQL

CREATE OR REPLACE FUNCTION update_antrian_number() RETURNS TRIGGER AS $antrian$
DECLARE
jumlah_antrian integer;

BEGIN
    IF(TG_OP='INSERT') THEN
       SELECT INTO jumlah_antrian COUNT(1) FROM tb_registration WHERE d_registration_date between (now()::date)
       and (now()::date+1) AND n_staff_id = new.n_staff_id;

       update tb_registration SET n_escort_primary_id = jumlah_antrian WHERE n_reg_id = new.n_reg_id;   
    END IF;
    RETURN NEW;
END;
$antrian$ LANGUAGE plpgsql;
CREATE TRIGGER antrian AFTER INSERT ON tb_registration FOR EACH ROW EXECUTE PROCEDURE update_antrian_number();



Contoh Trigger di atas mengupdate nomor antrian yg direpresentasikan oleh field n_escord_primary_id, logic trigger dalam postgresql selalu disimpan dalam trigger function (suatu fungsi yang mereturn trigger).

Tidak ada komentar:

Posting Komentar