Я пытаюсь создать последовательность и триггер, используя sqlplus
, и все написано в терминах bash сценария. Мой код выглядит следующим образом
su -p oracle -c "$ORACLE_HOME/bin/sqlplus -l mydb/mypass@localhost:1521/xe << !
create sequence SEQ_NAME start with 1000 maxvalue 9999;
create or replace trigger TRG_NAME
before insert on TABLE_NAME
for each row
begin
select SEQ_NAME.nextval into :new.MY_ID from dual;
end;
!
"
После выполнения вышеупомянутой команды я ожидал получить некоторые журналы, похожие на
Sequence created
Trigger compiled
Но появляется только журнал Sequence created
. В результате создается только последовательность, а триггер не создается. Я знаю, что при проверке SQL Developer tool
Дело в том, что я использую SQL Developer tool и выполняю скрипт
create sequence SEQ_NAME start with 1000 maxvalue 9999;
create or replace trigger TRG_NAME
before insert on TABLE_NAME
for each row
begin
select SEQ_NAME.nextval into :new.MY_ID from dual;
end;
Тогда все работает отлично! Последовательность и триггер созданы!
Есть идеи для этой проблемы?