A.
Materi
Trigger
Membuat tabel log
rb1=# create table log (process
varchar(10), date date);
CREATE TABLE
rb1=# \d log
Table "public.log"
Column
| Type | Modifiers
---------+-----------------------+-----------
process | character varying(10) |
date
| date
a. Trigger
insert data di table product
Pertama
buka text editor gedit
Kemudian
ketikan sintak sql di dalamnya, sintaknya adalah sebagai berikut :
create
or replace function ins_product() returns trigger as $$
begin
insert into log values('insert',now());
return
new;
end
$$
language
plpgsql;
create
trigger ins_data after insert on product for each row execute procedure
ins_product();
Kemdian
simpan dengan nama ins_product.sql
Kemudian jalankan fungsi triggernya dengan langkah
masuk ke dalam postgresql dan ketikan perintah :
\i
/home/administrator/Desktop/namafolder/ins_product.sql
CREATE
FUNCTION
CREATE
TRIGGER
b. Trigger
update data di table product
Langkah
seperti sebelumnya
Kemudian
ketik :
create
or replace function up_product() returns trigger as $$
begin
insert
into log values ('update',now());
return
new;
end
$$
language
plpgsql;
create
trigger up_data after update on product for each row execute procedure
up_product();
Kemudian
simpan dengan nama up_product.sql
Kemudian jalankan fungsi triggernya dengan langkah
masuk ke dalam postgresql dan ketikan perintah :
\i
/home/administrator/Desktop/namafolder/up_product.sql
CREATE
FUNCTION
CREATE
TRIGGER
c. Trigger
delete data di table product
Langkah
seperti sebelumnya
Kemudian
ketik :
create
or replace function del_product() returns trigger as $$
begin
insert
into log values('delete',now());
return
new;
end
$$
language
plpgsql;
create
trigger del_data after delete on product for each row execute procedure
del_product();
Kemudian
simpan dengan nama del_product.sql
Kemudian jalankan fungsi triggernya dengan langkah
masuk ke dalam postgresql dan ketikan perintah :
\i
/home/administrator/Desktop/namafolder/del_product.sql
CREATE
FUNCTION
CREATE
TRIGGER
kemudian
jalankan perintah insert,update atau delete;
insert
into product values ('001','samsung galaxy pocket');
INSERT
0 1
lihat
tabel log;
rb1=#
select*from log;
process |
date
---------+------------
insert
| 2013-10-23
(1
row)