一个oracle触发器的问题

yuji 2001-12-18 02:55:54
触发器内容如下:
declare
i_id integer;
begin
select seq.nextval into i_id from dual;
:new.user_id := i_id;
end;

报错为ORA-04082:NEW或OLD引用不允许在表层触发器中
...全文
76 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝天 2001-12-18
  • 打赏
  • 举报
回复
我的SEQ是这样:
SQLWKS> desc seq
Column Name Null? Type
------------------------------ -------- ----
SEQUENCE_NAME NOT NULL VARCHAR2(30)
MIN_VALUE NUMBER
MAX_VALUE NUMBER
INCREMENT_BY NOT NULL NUMBER
CYCLE_FLAG NOT NULL VARCHAR2(1)
ORDER_FLAG NOT NULL VARCHAR2(1)
CACHE_SIZE NOT NULL NUMBER
LAST_NUMBER NOT NULL NUMBER
yuji 2001-12-18
  • 打赏
  • 举报
回复
是,请大家帮帮忙
zhuzhichao 2001-12-18
  • 打赏
  • 举报
回复
你的trigger代碼是不是這樣的?


create or replace TRIGGER TableName_insert
before insert on TableName
for each row
declare
i_id integer;
begin
select seq_a.nextval into i_id from dual;
:NEW.user_id := i_id;
end;
zhuzhichao 2001-12-18
  • 打赏
  • 举报
回复
貼出所有的trigger代碼.
蓝天 2001-12-18
  • 打赏
  • 举报
回复
:new.user_id := i_id;?
你的目的是什么?

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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