oracle 自增字段 触发器

StuClass 2014-01-07 12:32:38
CREATE SEQUENCE DATA_CHANGE_ID INCREMENT BY 1 START WITH 1 
MAXVALUE 999999999 MINVALUE 1 NOCYCLE
NOCACHE NOORDER

create or replace trigger DATAADD
before insert on DATA_CHANGE_RECORD
for each row
begin
new.CHANGEID=DATA_CHANGE_ID.nextval;
end;

穿件触发器报错了,请问这几句话有错吗
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangchangming 2014-01-08
  • 打赏
  • 举报
回复
create or replace trigger DATAADD before insert on DATA_CHANGE_RECORD for each row begin new.CHANGEID := DATA_CHANGE_ID.nextval; end;
StuClass 2014-01-07
  • 打赏
  • 举报
回复
引用 1 楼 shenlele088 的回复:
sequence 不能这么用吧。 应该 SELECT DATA_CHANGE_ID.NEXTVAL INTO :NEW.CHANGEID FROM DUAL;
DECLARE CHANGEDATE DATA; BEGIN CHANGEDATE := GETDATA(); 这样给变量赋值可以吗?
  • 打赏
  • 举报
回复
引用 1 楼 shenlele088 的回复:
sequence 不能这么用吧。 应该 SELECT DATA_CHANGE_ID.NEXTVAL INTO :NEW.CHANGEID FROM DUAL;
+1
shenlele088 2014-01-07
  • 打赏
  • 举报
回复
sequence 不能这么用吧。 应该 SELECT DATA_CHANGE_ID.NEXTVAL INTO :NEW.CHANGEID FROM DUAL;

17,086

社区成员

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

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