1. Bagaimana implementasi TRIGGER EVENT pada Postgresql 2. Batasan apa

Berikut ini adalah pertanyaan dari restisusilawati333 pada mata pelajaran Bahasa lain untuk jenjang Sekolah Menengah Atas

1. Bagaimana implementasi TRIGGER EVENT pada Postgresql2. Batasan apa yang harus diperhatikan jika akan dibuat TRIGGERT EVENT pada sebuah table​

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