sql >> Databáze >  >> RDS >> Oracle

Oracle Trigger na vnořené tabulce

Nemůžete definovat spouštěč jako "BEFORE UPDATE ON Museum.EmployeeList.birthdate"Ale můžete napsat normální spouštěč PŘED AKTUALIZACÍ ON Museum a v těle triggeru můžete přepínat všechny zaměstnance, kteří kontrolují datum.

Zkuste toto:

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. ECHO ZOBRAZENÍ VÝSLEDKŮ MYSQL PRÁZDNÁ STRÁNKA

  2. Jak zajistím, aby výčty Java a Postgres spolupracovaly při aktualizaci?

  3. Jak změnit heslo root mysql

  4. MYSQL auto_increment_increment