新手求教:ORACLE中想给某列添加触发器,提示00905缺失关键字,该如何解决?

具体程序如下:createorreplacetriggerTR1beforeinsertonT_PICTURES(表名)forp_id(列名)BEGIN:new.p_id... 具体程序如下:
create or replace trigger TR1
before insert
on T_PICTURES(表名)
for p_id(列名)
BEGIN
:new.p_id:=Sequence_name.NEXTVAL;
END TR1;
展开
 我来答
xinjie_208
2012-03-28 · 超过26用户采纳过TA的回答
知道答主
回答量:53
采纳率:100%
帮助的人:59.7万
展开全部
首先没有for这个关键字,其次,对于语句级触发器不能使用:new,还有如果是行级触发器,序列也不能这么使用。
create or replace trigger TR1
before insert
on T_PICTURES(表名)
for each row(指明触发器为语句级)
BEGIN
select Sequence_name.NEXTVAL into :new.p_id from dual;
END TR1;
试试这样行不行?
leexiaol1108
2012-03-28 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:150万
展开全部
create or replace trigger TR1
before update of p_id (列名)
on T_PICTURES(表名)
for each row when (:new.p_id:=Sequence_name.NEXTVAL)
BEGIN
dbms_output,put_line('');
END TR1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式