PLS-00103: 遇到以下符号之一时遇到符号 "USER":
PLS-00103: Encountered the symbol "USER" when expecting one of the following:
我正在尝试制作一个触发器,它编译但有 2 个错误(相同的错误不同的位置)。这是触发器,我创建了 table 和序列
create or replace TRIGGER BIU_APPLICATION
BEFORE INSERT OR UPDATE ON APPLICATION
REFERENCING FOR EACH ROW
BEGIN
IF inserting THEN IF :new.APPLICATION_ID IS NULL THEN
SELECT APPLICATION_ID_SEQ.nextval
INTO :new.APPLICATION_ID
FROM dual;
END IF;
:new.created_by := NVL(apex_application.g_user USER);
:new.created_dt := SYSDATE;
END IF;
IF inserting OR updating THEN
:new.created_by := NVL(apex_application.g_user USER);
:new.created_dt := SYSDATE;
END IF;
END;
我得到的错误是
PLS-00103:在期望以下之一时遇到符号“USER”:。 ( ) , * @ % & = - + > in 是 mod 余数不是 rem => <指数 (**)> <> 或 != 或 ~= >= <= <> 和 or默认像 like2 like4 likec as between from using || multiset member submultiset 符号“.”已替换为“USER”以继续。
您忘记了 NVL 中的“,”:
NVL(apex_application.g_user, USER);
注意:您不需要 select sequence.nextval by SQL。您可以这样做:
:new.APPLICATION_ID := APPLICATION_ID_SEQ.nextval
我正在尝试制作一个触发器,它编译但有 2 个错误(相同的错误不同的位置)。这是触发器,我创建了 table 和序列
create or replace TRIGGER BIU_APPLICATION
BEFORE INSERT OR UPDATE ON APPLICATION
REFERENCING FOR EACH ROW
BEGIN
IF inserting THEN IF :new.APPLICATION_ID IS NULL THEN
SELECT APPLICATION_ID_SEQ.nextval
INTO :new.APPLICATION_ID
FROM dual;
END IF;
:new.created_by := NVL(apex_application.g_user USER);
:new.created_dt := SYSDATE;
END IF;
IF inserting OR updating THEN
:new.created_by := NVL(apex_application.g_user USER);
:new.created_dt := SYSDATE;
END IF;
END;
我得到的错误是
PLS-00103:在期望以下之一时遇到符号“USER”:。 ( ) , * @ % & = - + > in 是 mod 余数不是 rem => <指数 (**)> <> 或 != 或 ~= >= <= <> 和 or默认像 like2 like4 likec as between from using || multiset member submultiset 符号“.”已替换为“USER”以继续。
您忘记了 NVL 中的“,”:
NVL(apex_application.g_user, USER);
注意:您不需要 select sequence.nextval by SQL。您可以这样做:
:new.APPLICATION_ID := APPLICATION_ID_SEQ.nextval