新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
oracle中自動(dòng)生成主鍵id
在Oracle中,可以使用序列(Sequence)和觸發(fā)器(Trigger)來(lái)實(shí)現(xiàn)自動(dòng)生成主鍵ID。首先創(chuàng)建一個(gè)序列,然后在插入數(shù)據(jù)時(shí)使用該序列的下一個(gè)值作為主鍵ID。
在Oracle中,主鍵自動(dòng)生成可以通過(guò)以下幾種方法實(shí)現(xiàn):

1. 使用序列(Sequence)
步驟:
1、創(chuàng)建序列:
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1;
2、創(chuàng)建表:
CREATE TABLE table_name ( id NUMBER DEFAULT seq_name.NEXTVAL, name VARCHAR2(50), PRIMARY KEY (id) );
3、插入數(shù)據(jù):
INSERT INTO table_name (name) VALUES ('張三');
這樣,每次插入數(shù)據(jù)時(shí),id字段會(huì)自動(dòng)使用序列的下一個(gè)值。
2. 使用觸發(fā)器(Trigger)
步驟:
1、創(chuàng)建序列:
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1;
2、創(chuàng)建表:
CREATE TABLE table_name ( id NUMBER, name VARCHAR2(50), PRIMARY KEY (id) );
3、創(chuàng)建觸發(fā)器:
CREATE OR REPLACE TRIGGER trg_name BEFORE INSERT ON table_name FOR EACH ROW BEGIN SELECT seq_name.NEXTVAL INTO :new.id FROM dual; END; /
4、插入數(shù)據(jù):
INSERT INTO table_name (name) VALUES ('張三');
這樣,每次插入數(shù)據(jù)時(shí),觸發(fā)器會(huì)自動(dòng)為id字段賦值序列的下一個(gè)值。
3. 使用身份列(Identity Column)
從Oracle 12c開(kāi)始,可以使用身份列來(lái)實(shí)現(xiàn)主鍵自動(dòng)生成。
步驟:
1、創(chuàng)建表:
CREATE TABLE table_name ( id NUMBER GENERATED ALWAYS AS IDENTITY, name VARCHAR2(50), PRIMARY KEY (id) );
2、插入數(shù)據(jù):
INSERT INTO table_name (name) VALUES ('張三');
這樣,每次插入數(shù)據(jù)時(shí),id字段會(huì)自動(dòng)遞增。
分享題目:oracle中自動(dòng)生成主鍵id
分享URL:http://fisionsoft.com.cn/article/coijscp.html


咨詢
建站咨詢
