Код, который вы разместили, не будет компилироваться, ни в какой базе данных Oracle, которую я знаю.Зачем?Неверный синтаксис.
Вот демонстрация:
SQL> create or replace test_trigger
2 before insert or update
3 on test_table
4 for each row
5 begin
6 select 1 from dual;
create or replace test_trigger
*
ERROR at line 1:
ORA-00922: missing or invalid option
SQL> end;
SP2-0042: unknown command "end" - rest of line ignored.
SQL> /
Итак, что с ним не так?
- создать (или заменить) хочет знать что ты собираешься создать."Test_trigger"?Что касается Oracle, это может быть «mickey_mouse», и результат будет таким же.Это ключевое слово
trigger
отсутствует SELECT
в PL/SQL
требует предложение INTO
, чтобы вы могли сохранить результат во что-то - , чтобы иметь возможностьчтобы сделать это, вам нужно
declare
переменную
Вот код, который фактически компилируется:
SQL> create or replace trigger test_trigger --> this
2 before insert or update
3 on test_table
4 for each row
5 declare
6 l_dummy number; --> this
7 begin
8 select 1
9 into l_dummy --> this
10 from dual;
11 end;
12 /
Trigger created.
SQL>
Итак, кажется, что вы неверно истолковали реальность.