У меня есть триггер SQL / PSM, который я должен применить к моей Oracle базе данных, но он не будет работать, и я действительно не понимаю, почему ...
Вот мой триггер для MySQL:
CREATE TRIGGER "trigger_ACTIVITE_COMPL"
BEFORE INSERT ON "ACTIVITE_COMPL"
FOR EACH ROW
BEGIN
SELECT "auto_ACTIVITE_COMPL".nextval INTO :NEW."AC_NUM"
FROM dual;
END;
CREATE TRIGGER "trigger_RAPPORT_VISITE"
BEFORE INSERT ON "RAPPORT_VISITE"
FOR EACH ROW
BEGIN
SELECT "auto_RAPPORT_VISITE".nextval INTO :NEW."RAP_NUM"
FROM dual;
END;
Вот мой триггер для Oracle:
CREATE OR REPLACE TRIGGER "trigger_ACTIVITE_COMPL"
BEFORE INSERT ON "ACTIVITE_COMPL"
FOR EACH ROW
BEGIN
SELECT "auto_ACTIVITE_COMPL".nextval
INTO :NEW."AC_NUM"
FROM dual;
END;
CREATE OR REPLACE TRIGGER "trigger_RAPPORT_VISITE"
BEFORE INSERT ON "RAPPORT_VISITE"
FOR EACH ROW
BEGIN
SELECT "auto_RAPPORT_VISITE".nextval
INTO :NEW."RAP_NUM"
FROM dual;
END;
Когда я выполняю этот оператор, консоль говорит:
[ Предупреждение, код ошибки 17 110, SQLState 99999] Предупреждение: execution terminée ave c avertissement
[1: 1] Успешно выполнено за 0,318 с. не затронуты строки.
[8: 1] Сбой в 0 с. [Исключение, код ошибки 900, SQLState 42000] ORA-00900: инструкция SQL недействительная
Строка 8, столбец 1
[Предупреждение, код ошибки 17 110, SQLState 99999] Предупреждение: exécution terminée ave c avertissement
[10: 1] Успешно выполнено за 0,037 с. строки не затронуты.
[17: 1] Сбой в 0 с. [Исключение, код ошибки 900, SQLState 42000] ORA-00900: инструкция SQL недействительна
Строка 17, столбец 1
Выполнение завершено через 0,445 с, произошли 2 ошибки.
Итак, из-за того, что я понимаю, что есть синтаксическая ошибка, но я не могу найти, что не так, я просто знаю, что ошибка находится в строках 5 и 13, потому что когда я выполняю SQL SELECT "auto_ACTIVITE_COMPL".nextval FROM dual;
, она работает.
Я не думаю, что вам нужна структура базы данных, чтобы обозначить проблему, поскольку это явно синтаксическая ошибка, но я не знаю, что именно.
Пожалуйста, помогите мне, если у вас есть идея, что проблема в том.
Спасибо.
PS: Я не очень хорош в PL / SQL и особенно когда дело доходит до Oracle, поэтому будьте добры и извините, если я звучу невежественно (это потому, что я Имао).