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()
3 Komentar
boleh nanya ga?
BalasHapus'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.. :)
BalasHapusWah makasih dah ngeposting tentang postgreSql. selama ini pake mySql terus, ganti postgreSql ah.. matur nuwun mas
BalasHapus