Oracle沒有自增字段這樣的功能
先建一個測試表了
create table userlogin
(
id number(
name varchar
)
tablespace users
第一步
create sequence userlogin_seq increment by
第二步
create or replace trigger userlogin_trigger
before insert on userlogin
for each row
begin
select userlogin_seq
end;
第三步
寫個insert語句
oracle沒有ORACLE自增字段這樣的功能
先建一個測試表了
create table userlogin
(
id number(
name varchar
)
tablespace users
/
第一步
create sequence userlogin_seq increment by
第二步
create or replace trigger userlogin_trigger
before insert on userlogin
for each row
begin
select userlogin_seq
end;
/
第三步
寫個insert語句
Oracle序列知識
在oracle中sequence就是所謂的序列號
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權限
CREATE SEQUENCE emp_sequence
INCREMENT BY
START WITH
NOMAXVALUE
NOCYCLE
CACHE
一旦定義了emp_sequence
CURRVAL=返回 sequence的當前值
NEXTVAL=增加sequence的值
比如
emp_sequence
emp_sequence
可以使用sequence的地方
可以看如下例子
INSERT INTO emp VALUES
(empseq
SELECT empseq
但是要注意的是
你或者是該sequence的owner
Alter sequence 的例子
ALTER SEQUENCE emp_sequence
INCREMENT BY
MAXVALUE
CYCLE
NOCACHE ;
影響Sequence的初始化參數
SEQUENCE_CACHE_ENTRIES =設置能同時被cache的sequence數目
可以很簡單的Drop Sequence
DROP SEQUENCE order_seq;
From:http://tw.wingwit.com/Article/program/Oracle/201311/19077.html