「BEFORE UPDATE ON Museum.EmployeeList.birthdate」のようなトリガーを定義することはできませんが、BEFORE UPDATE ON Museum の通常のトリガーを記述し、トリガー本体で日付をチェックするすべての従業員をループすることができます。
これを試してください:
CREATE OR REPLACE TRIGGER BUIR_Museum BEFORE INSERT OR UPDATE ON Museum FOR EACH ROWBEGIN 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, '無効な誕生日'); END IF;エンドループ; END IF;END;コード> プレ>