程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> orcle創建自增列

orcle創建自增列

編輯:Oracle教程

orcle創建自增列


剛剛用orcle,組長讓我設計一張表,結果設計完了以後就在PLSQL設計主鍵ID,因為如果不用自增列的話就得用復合主鍵,所以就想著用ID的自增列來表示。可是他和SQL Server又有點不太一樣,他沒又自增列。所以在網上查了一下,兩種方法。

方法1:觸發器

首先先創建一張測試表t_demo

create table t_demo
(
     id  number(20) primary key,
     username varchar2(20)
)

第一步:創建squence

create sequence demo_seq
 increment by 1   --增幅為1
start with 1      --從1開始
minvalue 1     
maxvalue 9999999999999 --最大值 
nocache        --不需要緩存
order;      排序

第二步:創建一個基於該表的before insert觸發器,在觸發器中使用剛創建愛你的SEQUENCE

create or replace trigger userlogin_trigger 
before insert on usertest
for each row 
begin 
      select   test_seq.nextval   into:new.id from sys.dual ; 
end;

第三步 :測試

測試,插入一條記錄,看看有沒有自增。

方法二

直接用SQL語句和dequence來實現。

第一步:和上邊一樣,創建sequence'

第二步:SQL語句

insert into t_demo(id,username) values(test_seq.nextval, menghaibin)

小結

個人覺得還是第二種方法好,筆記如果將來要維護的話,還是第二種修改的方便,而如果用了觸發器,那麼數據庫的變動勢必會受到觸發器的應用。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved