PLS-00103:在为自动增量创建触发器时期望以下之一时遇到符号“文件结束”

时间:2018-03-19 15:05:52

标签: sql oracle plsql triggers

当我创建触发器时,我遇到了这个问题。 请看看它并给我解决方案,帮助我解决这个问题

代码:

CREATE OR REPLACE TRIGGER TEST_ID_AUTO 
BEFORE INSERT ON TEST
FOR EACH ROW
BEGIN
SELECT 'E-'||TO_CHAR(NVL(MAX(TO_NUMBER(SUBSTR(EMP_ID,3))),100)+1) INTO :NEW.EMP_ID 
FROM TEST
END;

1 个答案:

答案 0 :(得分:0)

您的Oracle数据库集成开发环境(IDE)可以为您提供帮助。

您可以使用SHOW ERRORS命令在编译时获得有关代码中发现的问题的更多反馈。

Oracle SQL Developer中内置的客户端解析器也会在您出现“不对”的时候提醒您 - 在这种情况下,  END;

你的代码中的

会混淆解析器,因为它会将代码视为上面SELECT INTO行的一部分,因为你忘记了语句终结符(;)

enter image description here

SQL Developer不会使用SHOW ERRORS命令,而是自动向您显示编译器反馈 - 只需确保您的View>日志面板已激活。

enter image description here

如果双击错误,它会将光标前进到与错误关联的行。你的问题通常应该紧接在它之前 - 在这种情况下,你在第6行丢失';)。