帮忙解决一下!谢谢!

Judy_115 2011-04-20 01:01:08
PLS-00103: 出现符号 "EXCEPTION"在需要下列之一时:
( begin case declare
end exit for goto if loop mod null pragma raise return select
update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
end not pragma
final instantiable order overriding static member constructor
map
...全文
182 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
哦,那我明白了!谢谢!
vber1010 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 judy_115 的回复:]
code我觉得没错,insert 时,value一定要与字段一一对应,顺序不能有错是吧?
[/Quote]
这个是必须的
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
code我觉得没错,insert 时,value一定要与字段一一对应,顺序不能有错是吧?
gelyon 2011-04-20
  • 打赏
  • 举报
回复

IF INSERTING THEN
l_action :='INSERT';
ELSIF UPDATING THEN
l_action :='UPADTE';
ELSE
l_action :='DELETE';
END IF;

Judy_115 2011-04-20
  • 打赏
  • 举报
回复
代码就是那些代码啊,就只是创建的create、、、那些没贴出来啊,trigger的insert和update有记录,就只是delete的没有记录
gelyon 2011-04-20
  • 打赏
  • 举报
回复
你调试下,看看你delete动作之后,l_action是否改变,会不会进入你insert R2R.PH_CD_CONFIG_HIST

哎哟,老火的很,代码都没得,看不出问题
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
就是我ACTION这个字段是我后来加的,然后,我就直接在trigger中声明,所以就报错,不是语法的错误
就是在R2R.PH_CD_CONFIG_HIST表中没有记录
gelyon 2011-04-20
  • 打赏
  • 举报
回复
还有,说下你发帖的问题,你是怎么后头解决的,是什么原因?
gelyon 2011-04-20
  • 打赏
  • 举报
回复
看了你上面的部分代码,没上面问题
那你执行delete动作的时候,R2R.PH_CD_CONFIG_HIST表中是否会有记录产生?
还是说有一条记录,只是ACTION值为空?
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
就是delete时,删除成功,但没有记录trigger的动作
ssqtjffcu 2011-04-20
  • 打赏
  • 举报
回复
没有痕迹显示是什么意思,你怎么测的?
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
现在编译通过,不报错了,但其中有一个表,对于trigger的delete动作,没有痕迹显示,怎么办
feiaizhong 2011-04-20
  • 打赏
  • 举报
回复
语法错误
yejihui9527 2011-04-20
  • 打赏
  • 举报
回复
begin end;
检查是不是全部配对了
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
不是完整的,还有创建的没贴,是我要加一个字段,说明trigger是做的什么动作时报的
vber1010 2011-04-20
  • 打赏
  • 举报
回复
上面是完整的吗? 没有语法错误,帖子里的错误是在做什么操作的时候报的》?
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
好像并没有语法错误
Judy_115 2011-04-20
  • 打赏
  • 举报
回复
IF INSERTING THEN
l_action :='INSERT';
ELSIF UPDATING THEN
l_action :='UPADTE';
ELSIF DELETING THEN
l_action :='DELETE';

ELSE
RAISE_APPLICATION_ERROR(-20001,'You should never ever get thie error.');

END IF;

INSERT INTO R2R.PH_CD_CONFIG_HIST
(
ID,
ACTION,
TARGET_VALUE,
CD_TYPE,
EXPIRED_DAY,
FB_TOOL_GROUP,
JOB_ACTIVE,
OCD_WEIGHT,
CDSEM_WEIGHT,
USER_ID )
VALUES
(
tmpVar,
l_action,
:NEW.TARGET_VALUE,
:NEW.CD_TYPE,
:NEW.EXPIRED_DAY,
:NEW.FB_TOOL_GROUP,
:NEW.JOB_ACTIVE,
:NEW.OCD_WEIGHT,
:NEW.CDSEM_WEIGHT,
:NEW.USER_ID );

EXCEPTION
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
NULL;
RAISE;
END ;
lixinbill 2011-04-20
  • 打赏
  • 举报
回复
把你的exception处理部分用 begin end 包围上
  • 打赏
  • 举报
回复
[Quote=引用楼主 judy_115 的回复:]
PLS-00103: 出现符号 "EXCEPTION"在需要下列之一时:
( begin case declare
end exit for goto if loop mod null pragma raise return select
update while with <an identifier>
<a double-quoted delimited-identif……
[/Quote]
你的格式写错了吧
照着这个格式改下吧

declare
... --定义变量等
begin
... --具体操作等

exception when others then
...
end;
加载更多回复(1)

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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