初学着请教:触发器编译老出错。

xiaomaoxia 2008-09-02 06:18:49
CREATE OR REPLACE TRIGGER "ZYJ"."TG_FORDEPID" BEFORE
INSERT ON "DEP" FOR EACH ROW WHEN (new.id is null) begin
select ZYJ.EMP_SEQUENCE.nextval into: new.id from dual;
end;

触发器如上。ZYJ 方案。
错误信息如下:
行号= 0 列号= 0 错误文本= PLS-00801: 内部错误 [ph2csql_strdef_to_diana:bind]
行号= 2 列号= 51 错误文本= PL/SQL: ORA-06544: PL/SQL: 内部错误,参数: [ph2csql_strdef_to_diana:bind], [], [], [], [], [], [], []
行号= 2 列号= 1 错误文本= PL/SQL: SQL Statement ignored
...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lws0472 2008-09-03
  • 打赏
  • 举报
回复
同意楼上,好像你的冒号位置不对,不知是不是你贴的有误
BlueskyWide 2008-09-03
  • 打赏
  • 举报
回复
不是"into: new.id ",
而是"into :new.id "
在sqlplus或pl/sql中先编译一下,通过了再在程序中引用。

ybkenan 2008-09-03
  • 打赏
  • 举报
回复
觸發器看不出有什麼問題
xiaomaoxia 2008-09-03
  • 打赏
  • 举报
回复
编译触发器需要什么程度的权限呢 ?
xiaomaoxia 2008-09-03
  • 打赏
  • 举报
回复
多谢多谢。我先试试。
xiaomaoxia 2008-09-02
  • 打赏
  • 举报
回复
变量绑定 具体是什么呢 我还不是很清楚.我刚接触.
oracledbalgtu 2008-09-02
  • 打赏
  • 举报
回复
估计不是你的触发器的问题,而是你执行的其它代码的报错。
跟变量绑定的地方有关。

[Quote=引用楼主 xiaomaoxia 的帖子:]
CREATE OR REPLACE TRIGGER "ZYJ"."TG_FORDEPID" BEFORE
INSERT ON "DEP" FOR EACH ROW WHEN (new.id is null) begin
select ZYJ.EMP_SEQUENCE.nextval into: new.id from dual;
end;

触发器如上。ZYJ 方案。
错误信息如下:
行号= 0 列号= 0 错误文本= PLS-00801: 内部错误 [ph2csql_strdef_to_diana:bind]
行号= 2 列号= 51 错误文本= PL/SQL: ORA-06544: PL/SQL: 内部错误,参数: [ph2csql_strdef_to_diana:b…
[/Quote]

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧