2 sql oracle plsql database-trigger oracle-apex
我很难理解这个错误:
第 3 行错误:PLS-00103:在预期以下情况之一时遇到符号“&”:
) , * & - + / 在 mod 余数 rem 和 or as || 多集
代码是:
CREATE OR REPLACE TRIGGER class_trigger
BEFORE INSERT ON Class FOR EACH ROW
BEGIN
IF (type = 'vl' && mass < 15000) THEN
mass := 15000;
END IF;
END;
Run Code Online (Sandbox Code Playgroud)
我的代码有什么问题?我正在使用 Oracle 的 APEX。谢谢。
你有两个问题:
PL/SQLAND用作布尔 AND 运算的逻辑运算符,而不是&&.
访问传递给触发器的字段时,您必须使用:OLD或:NEW伪行名称限定它们。
因此,您需要将触发器重写为:
CREATE OR REPLACE TRIGGER class_trigger
BEFORE INSERT ON Class
FOR EACH ROW
BEGIN
IF :NEW.TYPE = 'vl' AND
:NEW.mass < 15000
THEN
:NEW.MASS := 15000;
END IF;
END class_trigger;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |