oracle的have,Does oracle have “auto number” data type [duplicate]
問題
This question already has answers here:
It is possible to do a autonumber sequence in a SELECT on Oracle?
(3 answers)
Closed 6 years ago.
I am amazed to see that oracle does not have "auto number" data type. Is there any way to use auto number data type as we have this data type in MS access?
回答1:
This blog post describes an option for this functionality.
Key elements are quoted below, but the post goes into more depth.
create sequence test_seq
start with 1
increment by 1
nomaxvalue;
Followed by
insert into test values(test_seq.nextval, 'voila!');
OR
create trigger test_trigger
before insert on test
for each row
begin
select test_seq.nextval into :new.id from dual;
end;
回答2:
In oracle you use a Sequence. You can have any number of sequences, and use any of them to assign a unique number to any field in any table or just call on one to assign a number to a variable.
SQL> CREATE SEQUENCE demo_seq INCREMENT BY 1 MAXVALUE 999999999999999999999999999 MINVALUE 0 NOCACHE;
Sequence created.
SQL> select demo_seq.nextval from dual;
NEXTVAL
----------
0
SQL> select demo_seq.nextval from dual;
NEXTVAL
----------
1
SQL> select demo_seq.nextval from dual;
NEXTVAL
----------
2
SQL> select demo_seq.currval from dual;
CURRVAL
----------
2
References:
http://www.techonthenet.com/oracle/sequences.php
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_6015.htm
來源:https://stackoverflow.com/questions/6389641/does-oracle-have-auto-number-data-type
總結
以上是生活随笔為你收集整理的oracle的have,Does oracle have “auto number” data type [duplicate]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用memcached实现CAS单点登录
- 下一篇: CODING 受邀参加《腾讯全球数字生态