Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle Trigger на вложена таблица

Не можете да дефинирате задействане като „ПРЕДИ АКТУАЛИЗИРАНЕ НА Museum.EmployeeList.birthdate“, но можете да напишете нормален задействане ПРЕДИ АКТУАЛИЗАЦИЯ НА Museum и в тялото на задействане можете да преминете през всички служители, които проверяват датата.

Опитайте това:

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. Entity Framework и Oracle

  2. Как да откриете грешки при компилиране на PLSQL

  3. Правилно използване на COALESCE в клаузата WHERE

  4. PL/SQL пренаписва конкатенирана заявка с клауза „IN“.

  5. ORACLE Прехвърля ДАТА към TIMESTAMP С ЧАСОВА ЗОНА С ОТСТЪПКА