Pengantar PostgreSQL #2
Filed under: Linux, Sembarang Linux, Ubuntu | Tags: ajax, Linux, PHP, postgre, PostgreSQL, Tutorial, Ubuntu |
SQL
Membuat tabel
# CREATE TABLE teriakannya (
nama VARCHAR(60) NOT NULL,
situs VARCHAR(256),
pesan TEXT NOT NULL,
waktu TIMESTAMP NOT NULL DEFAULT now()
);
Menambah baris rekaman
# INSERT INTO teriakannya VALUES ('ade','www.ade.web.id','Salam kenal');
Melihat isi table:
# SELECT * from teriakannya;
nama | situs | pesan | waktu
------+----------------+-------------+----------------------------
ade | www.ade.web.id | Salam kenal | 2008-12-06 22:26:59.217386
(1 row)
Memperbarui isi data
# UPDATE teriakannya SET nama='adesaja' WHERE nama='ade';
Menghapus baris rekaman
# DELETE FROM teriakannya where nama='ade';
Membuat view
# CREATE VIEW viewq AS SELECT nama,situs,pesan,waktu, to_char(waktu,'DD-MM-YYYY') as tgl, to_char(waktu,'HH24:MI:SS') as jam FROM teriakannya WHERE waktu>=current_timestamp - interval '2 days ORDER BY WAKTU DESC';
View digunakan sbg pengganti perintah SELECT yg berulang-2 atau untuk menutupi pekerjaan yg sebenarnya.
Menampilkan hasil view
# SELECT * FROM viewq;
Menyertakan bahasa prosedural PL/PGSQL
# CREATE LANGUAGE 'PLPGSQL';
Membuat fungsi PL/PGSQL
# create or replace function simpan_pesan (in_nama varchar, in_situs varchar, in_pesan text)
returns void as $$
begin
insert into teriakannya values (in_nama, in_situs, in_pesan);
end;
$$
language 'plpgsql';
Membuat fungsi trigger:
# CREATE OR REPLACE FUNCTION hapus_data()
RETURNS trigger AS
$BODY$
begin
delete from teriakannya where waktu
return NEW;
end;
$BODY$
LANGUAGE 'plpgsql' ;
Membuat trigger:
# CREATE TRIGGER on_insert
AFTER INSERT
ON teriakannya
FOR EACH ROW
EXECUTE PROCEDURE hapus_data()

















boleh nanya ga?
‘atau untuk menutupi pekerjaan yang sebenarnya’, maksudnya apa ya?
eshabe: dg view, operator/pengguna view tidak (perlu) tahu dari mana dan bagaimana kolom-2 hasil SELECT * didapat. Dan seandainya ada perubahan struktur tabel(-tabel) yg di view maka pengguna view tidak direpotkan karena perintah query tetap.
Thx uya untuk infonya..
Wah makasih dah ngeposting tentang postgreSql. selama ini pake mySql terus, ganti postgreSql ah.. matur nuwun mas