Berikut ini adalah pertanyaan dari restisusilawati333 pada mata pelajaran Bahasa lain untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
1. Untuk mengimplementasikan trigger event pada PostgreSQL, pertama-tama Anda perlu membuat trigger function yang akan dipanggil oleh trigger. Kemudian Anda dapat membuat trigger dengan menggunakan perintah CREATE TRIGGER dan menentukan event yang akan memicu trigger tersebut, serta tabel yang akan dipantau oleh trigger tersebut.
Contoh:
CREATE OR REPLACE FUNCTION update_timestamp()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = now();
RETURN NEW;
END;
$$ language 'plpgsql';
CREATE TRIGGER update_timestamp_trigger
BEFORE UPDATE ON users
FOR EACH ROW
EXECUTE PROCEDURE update_timestamp();
2. Di sini, trigger function update_timestamp()akan dipanggil oleh triggerupdate_timestamp_triggersetiap kali terjadi eventUPDATE pada tabel users.
- Ada beberapa batasan yang perlu diperhatikan saat membuat trigger event pada PostgreSQL:
- Trigger hanya dapat dipicu oleh event INSERT, UPDATE, atau DELETE.
- Trigger hanya dapat dibuat pada tabel yang ada, tidak bisa dibuat pada vista (view).
- Trigger hanya dapat mengakses data yang sesuai dengan event yang memicu trigger tersebut. Misalnya, trigger yang dipicu oleh event INSERT hanya dapat mengakses data baru yang sedang di-insert, tidak bisa mengakses data yang sudah ada sebelumnya.
- Trigger hanya dapat dipicu oleh perintah SELECT jika perintah tersebut menggunakan FOR EACH ROW.
- Trigger hanya dapat mengakses data yang terdapat dalam satu transaksi. Jadi, trigger tidak akan dipicu jika data yang dimodifikasi sudah dicommit atau rollback.
- Trigger tidak bisa memanggil fungsi yang menggunakan perintah VOLATILE, STABLE, atau IMMUTABLE jika perintah tersebut bergantung pada data yang sedang diubah oleh trigger.
- Trigger tidak bisa memodifikasi data yang sedang diubah oleh trigger. Misalnya, jika trigger dipicu oleh event INSERT, maka trigger tidak bisa mengubah data yang baru saja di-insert.
Semoga dengan pertanyaan yang sudah terjawab oleh Flatrons dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Tue, 21 Mar 23