如何实现id自增一?

luoyewuhen 2003-08-30 04:43:03
似乎是先创建一个序列,后边是什么,我忘了,请教大虾指点!
...全文
164 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
luoyewuhen 2003-09-01
  • 打赏
  • 举报
回复
问题解决了,今天写的触发器跟昨天不能用的没看出有什么区别,但是功能实现了,我也不知道为什么!
luoyewuhen 2003-08-31
  • 打赏
  • 举报
回复
仅仅是for这里错了吗?可能我发贴子的时候手误了,假如
create or replace trigger triggername
before insert on tablename
for each row
begin
select sequencename.nextval into : new.columnname from dual;
end;

一定正确吗?需要设置参数吗?我用的oracle是8.1.6的(可能是)
ruixp 2003-08-31
  • 打赏
  • 举报
回复
假如
sequence为seq
则编程时用seq.nextval
lilylamb 2003-08-31
  • 打赏
  • 举报
回复
--权限字典自动编号
DROP SEQUENCE SEQ_POWERS;
CREATE SEQUENCE SEQ_POWERS
INCREMENT BY 1
MINVALUE 1
MAXVALUE 99999999999999
NOCYCLE
NOCACHE
ORDER;
COMMIT;

--权限字典自动创建编号
CREATE OR REPLACE TRIGGER TRG_ADD_POWERS
BEFORE INSERT ON T_POWERS
FOR EACH ROW
BEGIN
SELECT TO_CHAR(SEQ_POWERS.NEXTVAL) INTO :NEW.SN FROM DUAL;
END TRG_ADD_POWERS;
tolywang 2003-08-31
  • 打赏
  • 举报
回复
建立sequence就够了 .
8848huawei 2003-08-31
  • 打赏
  • 举报
回复
保存明天给你答案,我经常用的

xsh7783 2003-08-31
  • 打赏
  • 举报
回复
把 FOR 改为 FROM 就行了
luoyewuhen 2003-08-31
  • 打赏
  • 举报
回复
序列我懂,触发器怎么写?
luoyewuhen 2003-08-31
  • 打赏
  • 举报
回复
create or replace trigger triggername
before insert on tablename
for each row
begin
select sequencename.nextval into : new.columnname for dual;
end;
有错误吗?为什么老是编译不通过呢?触发器不区分大小写吧?难道是要设置参数?不懂,请教大虾指点!
yun198183 2003-08-30
  • 打赏
  • 举报
回复
sequence+trigger
zqbchina 2003-08-30
  • 打赏
  • 举报
回复
sequence+trigger
lynx1111 2003-08-30
  • 打赏
  • 举报
回复
新来的?注意:
1。要搜索csdn论坛
2。要搜索csdn文档
3。要看faq
4。要看精华区

类似的东西多着呢!
jiezhi 2003-08-30
  • 打赏
  • 举报
回复
序列+觸發器,
搜索論壇:自增/序列

17,377

社区成员

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

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