例如SQL SERVER中的identity(int,1,1)
7 个解决方案
#1
oracle是通过序列和触发器实现的
--1.先创建序列
scott@YPCOST> create sequence orderNo_seq start with 100 increment by 1 maxvalue 999;
序列已创建。
scott@YPCOST> create table test(id number,name varchar2(20));
表已创建。
--2、再加触发器
scott@YPCOST> create or replace trigger insert_tri
2 before insert on test
3 for each row
4 declare
5 begin
6 select orderNo_seq.nextval into :new.id from dual;
7 end;
8 /
触发器已创建
scott@YPCOST> insert into test(name) values('tom');
已创建 1 行。
scott@YPCOST> select * from test;
ID NAME
---------- --------------------
100 tom
#2
序列+触发器 实现,楼上是对的。
#3
参考:
ORACLE SEQUENCE 介绍
http://blog.csdn.net/tianlesoftware/archive/2009/10/29/4745039.aspx
Oracle Sequence Cache 参数说明
http://blog.csdn.net/tianlesoftware/archive/2010/11/08/5995051.aspx
#4
oracle 有个类似sql的 自增列函数 sequence
可以通过代码在sqlpus 或plsql developer 中建立
-- Create sequence
create sequence SQ_BROAD_ID
minvalue 1
maxvalue 9999999
start with 1000001
increment by 1
nocache
order;
具体的每个参数的意义 自己查查 。
也可以用plsql developer 进行图像界面建立
可以通过代码在sqlpus 或plsql developer 中建立
-- Create sequence
create sequence SQ_BROAD_ID
minvalue 1
maxvalue 9999999
start with 1000001
increment by 1
nocache
order;
具体的每个参数的意义 自己查查 。
也可以用plsql developer 进行图像界面建立
#5
用序列就行
sequence.nextVal就是获取序列的下一个值
不过为了保证序列连续 每个表都要有一个对应的序列,不能共用
sequence.nextVal就是获取序列的下一个值
不过为了保证序列连续 每个表都要有一个对应的序列,不能共用
#6
我进来学那个触发器...
#7
+1
#1
oracle是通过序列和触发器实现的
--1.先创建序列
scott@YPCOST> create sequence orderNo_seq start with 100 increment by 1 maxvalue 999;
序列已创建。
scott@YPCOST> create table test(id number,name varchar2(20));
表已创建。
--2、再加触发器
scott@YPCOST> create or replace trigger insert_tri
2 before insert on test
3 for each row
4 declare
5 begin
6 select orderNo_seq.nextval into :new.id from dual;
7 end;
8 /
触发器已创建
scott@YPCOST> insert into test(name) values('tom');
已创建 1 行。
scott@YPCOST> select * from test;
ID NAME
---------- --------------------
100 tom
#2
序列+触发器 实现,楼上是对的。
#3
参考:
ORACLE SEQUENCE 介绍
http://blog.csdn.net/tianlesoftware/archive/2009/10/29/4745039.aspx
Oracle Sequence Cache 参数说明
http://blog.csdn.net/tianlesoftware/archive/2010/11/08/5995051.aspx
#4
oracle 有个类似sql的 自增列函数 sequence
可以通过代码在sqlpus 或plsql developer 中建立
-- Create sequence
create sequence SQ_BROAD_ID
minvalue 1
maxvalue 9999999
start with 1000001
increment by 1
nocache
order;
具体的每个参数的意义 自己查查 。
也可以用plsql developer 进行图像界面建立
可以通过代码在sqlpus 或plsql developer 中建立
-- Create sequence
create sequence SQ_BROAD_ID
minvalue 1
maxvalue 9999999
start with 1000001
increment by 1
nocache
order;
具体的每个参数的意义 自己查查 。
也可以用plsql developer 进行图像界面建立
#5
用序列就行
sequence.nextVal就是获取序列的下一个值
不过为了保证序列连续 每个表都要有一个对应的序列,不能共用
sequence.nextVal就是获取序列的下一个值
不过为了保证序列连续 每个表都要有一个对应的序列,不能共用
#6
我进来学那个触发器...
#7
+1