Berikut adalah cara membuat procedure pada database PostgreSQL :
Format :
create [or replace] procedure procedure_name(parameter_list)
language plpgsql as $$
declare
-- variable declaration
begin
-- stored procedure body
end; $$
cara panggil
call stored_procedure_name(argument_list);
untuk memudahkan pembuatan procedure yang mengakses tabel maka perlu dibuatkan 1 tabel sebagai contoh : nama table : accounts, dengan isi dan field pada tabel dibawah
ID | Nama | Nilai |
1 | Johanes Tan | 1000 |
2 | Mike Bun | 1200 |
3 | Budianto | 1500 |
Contoh 1:
create or replace procedure transfer( kirim int, terima int, harga dec ) language plpgsql as $$
begin
-- mengulangi nilai
update accounts set nilai = nilai - harga where id = kirim;
-- menambahkan nilai
update accounts set nilai = nilai + harga where id = terima;
commit;
end;$$
Output :
call transfer(1, 2, 500);
Select * From accounts;
ID | Nama | Nilai |
1 | Johanes Tan | 1500 |
2 | Mike Bun | 1700 |
3 | Budianto | 1500 |
Contoh 2 :
create or replace procedure insertdata(nama varchar(50) , nilai dec ) language plpgsql as $$
begin
-- menambahkan data
insert into accounts(nama, nilai) values (nama, nilai);
commit;
end;$$
Output :
call insertdata('Novi', 2100);
Select * From accounts;
ID | Nama | Nilai |
1 | Johanes Tan | 1500 |
2 | Mike Bun | 1700 |
3 | Budianto | 1500 |
4 | Novi | 2100 |