Pada artikel ini, Anda akan mempelajari cara menggunakan klausa WHEN di Oracle trigger untuk membuat trigger aktif pada kondisi yang ditentukan. Di bawah ini adalah contohnya.
Anda dapat menguji contoh pemicu ini dengan membuat tabel dan pemicu berikut dalam skema database Oracle Anda.
Buat Tabel
CREATE TABLE EMP ( EMPNO NUMBER(4) NOT NULL, ENAME VARCHAR2(10 BYTE), JOB VARCHAR2(9 BYTE), MGR NUMBER(4), HIREDATE DATE, SAL NUMBER(7,2), COMM NUMBER(7,2), DEPTNO NUMBER(2) ) /
Buat Pemicu Database Oracle Dengan Klausa WHEN
Pemicu berikut akan diaktifkan hanya jika JOB sama dengan CLERK , dan jika ya, maka kolom COMM (komisi) akan diset menjadi 0.
CREATE OR REPLACE TRIGGER emp_trig_1 BEFORE INSERT ON EMP FOR EACH ROW WHEN (NEW.job = 'CLERK') BEGIN :NEW.comm := 0; END; /
Uji
Pernyataan insert di bawah untuk tabel EMP akan mencoba memasukkan record untuk CLERK dengan komisi 300.
SET DEFINE OFF; Insert into EMP (EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO) Values (7499, 'ALLEN', 'CLERK', 7698, TO_DATE('02/20/1981 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1600, 300, 30); COMMIT;
Kueri Tabel
Sekarang kueri tabel EMP untuk catatan yang dimasukkan di atas, dan Anda akan menemukan bahwa nilai kolom COMM adalah 0 .
SELECT * FROM EMP WHERE EMPNO = 7499;
Lihat juga:
- Pelajari Cara Membuat Pemicu di Oracle SQL Developer
- Buat Pemicu dalam Contoh Formulir Oracle
-
Dapatkan tipe data bidang dalam pernyataan pilih di ORACLE
-
Oracle 11g:Default ke nilai statis saat kueri tidak menghasilkan apa-apa
-
Oracle:Permintaan SQL yang mengembalikan baris hanya dengan nilai numerik
-
Bagaimana saya bisa mengatur format waktu tanggal khusus di Oracle SQL Developer?
-
LEAST() Fungsi di Oracle