Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Pemicu Oracle di Tabel Bersarang

Anda tidak dapat menentukan pemicu seperti "BEFORE UPDATE ON Museum.EmployeeList.birthdate"Tetapi Anda dapat menulis trigger normal SEBELUM UPDATE ON Museum dan di trigger body Anda dapat mengulang semua karyawan yang memeriksa tanggal.

Coba yang ini:

CREATE OR REPLACE TRIGGER BUIR_Museum 
    BEFORE INSERT OR UPDATE ON Museum
    FOR EACH ROW

BEGIN
    IF :NEW.EmployeeList IS NOT NULL THEN
        FOR i IN :NEW.EmployeeList.FIRST..:NEW.EmployeeList.LAST LOOP
            IF :NEW.EmployeeList(i).birthdate > SYSDATE THEN
                RAISE_APPLICATION_ERROR(-20029, 'Invalid birthday');
            END IF;
        END LOOP;
    END IF;
END;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan setDate di PreparedStatement

  2. ORA-01008:tidak semua variabel terikat, ketika semuanya terikat

  3. Untuk mengubah tipe data kolom dari clob ke xmltype

  4. Mengapa Oracle mengatakan bukan ekspresi GROUP BY?

  5. Skrip untuk menemukan dependensi multi level dari suatu paket