求oralce 10G里面如何设置一个自增列啊?有完整的例子没有?

DiligencyMan 2009-02-23 09:36:50
如题
...全文
131 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
saishmily 2010-10-17
  • 打赏
  • 举报
回复
感谢你的帮助!
DiligencyMan 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phoenix_qiqi 的回复:]
 CREATE SEQUENCE emp_sequence
  INCREMENT BY 1 -- 每次加几个
  START WITH 1 -- 从1开始计数
  NOMAXVALUE -- 不设置最大值
  NOCYCLE -- 一直累加,不循环
  NOCACHE -- 不建缓冲区
[/Quote]

谢谢了,兄弟!
DiligencyMan 2009-02-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oraclelogan 的回复:]
SQL code这是一个简单的例子,不过已经能够表示如何实现这类功能了。

1、在scott用户下建立表dept(其实oracle缺省安装就已经生成了)
create table DEPT
(
DEPTNO NUMBER(2) not null,
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
)

2、建立一个sequence
create sequence seq_dept
minvalue 1
start with 1
increment by 1
nocache;

3、为dept表建立一个insert trigger
create or replace t…
[/Quote]

谢谢了!
phoenix_qiqi 2009-02-23
  • 打赏
  • 举报
回复
 CREATE SEQUENCE emp_sequence
  INCREMENT BY 1 -- 每次加几个
  START WITH 1 -- 从1开始计数
  NOMAXVALUE -- 不设置最大值
  NOCYCLE -- 一直累加,不循环
  NOCACHE -- 不建缓冲区
oraclelogan 2009-02-23
  • 打赏
  • 举报
回复
这是一个简单的例子,不过已经能够表示如何实现这类功能了。 

1、在scott用户下建立表dept(其实oracle缺省安装就已经生成了)
create table DEPT
(
DEPTNO NUMBER(2) not null,
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
)

2、建立一个sequence
create sequence seq_dept
minvalue 1
start with 1
increment by 1
nocache;

3、为dept表建立一个insert trigger
create or replace trigger insert_dept
before insert on dept
for each row
declare
-- local variables here
begin
select seq_dept.nextval into :new.deptno from dual;
end insert_dept;

4、用insert语句测试

insert into dept(dname,loc) values('aaaaaa','bbbbb');

用select * from dept察看结果


【转自/网易社区】
DiligencyMan 2009-02-23
  • 打赏
  • 举报
回复
等待!

17,088

社区成员

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

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