亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Oracle數(shù)據(jù)庫中創(chuàng)建自增主鍵的實例教程

 更新時間:2016年05月21日 18:01:48   作者:炫影魔心  
Oracle的字段自增功能,可以利用創(chuàng)建觸發(fā)器的方式來實現(xiàn),接下來我們就來看看Oracle數(shù)據(jù)庫中創(chuàng)建自增主鍵的實例教程,需要的朋友可以參考下

在設(shè)計數(shù)據(jù)庫表的時候發(fā)現(xiàn)Oracle沒有自增主鍵的設(shè)置,Google了解到Oracle本身并不支持自增主鍵,需要通過序列(Sequence)和觸發(fā)器(Trigger)實現(xiàn)。
創(chuàng)建表Student

Create Table Student( 
 id number(12) primary key, --通過序列和觸發(fā)器實現(xiàn)id的自增 
 name varchar2(20) , 
 age number(3) , 
 sex number(1) 
) 

創(chuàng)建序列Sequence

Create Sequence SEQ_STUDENT 
minvalue 1 
maxvalue 99999999999999999999 
start with 1   --從1開始 
increment by 1 --增量為1 
cache 0 
order; 

創(chuàng)建觸發(fā)器Trigger

Create or Replace Trigger STUDENT_AUTOINCREMENT 
Before Insert on Student 
For Each Row 
When (NEW.ID IS NULL) 
Begin 
Select SEQ_STUDENT.NEXTVAL INTO :NEW.ID FROM DUAL; 
End; 

注意點:

1:一個sequence可以被多個表共享。

2:被多個表共享的sequence生成的數(shù)字序列始終連續(xù),不會重新開始。

3:如果不再使用的sequence請刪除。

SELECT * FROM DAYSBFJ.DAYS_CARD_UPDATE3 order by id asc
--alter table DAYSBFJ.DAYS_CARD_UPDATE3 add source_Flag varchar2(2);
--create sequence DAYS_CARD_UPDATE2_SEQ_ID minvalue 1 maxvalue 999999999 start with 1;
--Update DAYSBFJ.DAYS_CARD_UPDATE2 set id = DAYS_CARD_UPDATE2_SEQ_ID.nextval;
--update DAYSBFJ.DAYS_CARD_UPDATE3 set SOURCE_FLAG = '2'

另一個例子:

新建一個缺少主鍵的表

create table test1(name1 varchar2(40),city varchar2(40));

--插入數(shù)據(jù)

insert into test1 values('name1','nanjing');
insert into test1 values('name1','nanjing');
insert into test1 values('name2','nanjing1');
insert into test1 values('name3','nanjing2');
insert into test1 values('name4','nanjing3');
insert into test1 values('name5','nanjing4');
insert into test1 values('name6','nanjing5');
insert into test1 values('name7','nanjing6');
insert into test1 values('name8','nanjing7');
insert into test1 values('name9','nanjing8');
insert into test1 values('name10','nanjing9');
insert into test1 values('name10','nanjing9');
insert into test1 values('name12','nanjing11');
insert into test1 values('name13','nanjing12');
insert into test1 values('name14','nanjing13');
commit;

--增加主鍵ID

alter table TEST1 add id number(10);

--設(shè)置sequence使ID自增

create sequence SEQ_ID
 minvalue 1
 maxvalue 999999999
 start with 1;

--將id的值設(shè)置為sequence

Update test1 set id=seq_id.nextval;
commit;

--設(shè)置id為主鍵

alter table TEST1
 add constraint PK_TEST1 primary key (ID);
 
select ID,Name1,CITY from TEST1;

相關(guān)文章

  • oralce和db2兼容開發(fā)注意事項

    oralce和db2兼容開發(fā)注意事項

    這篇文章主要介紹了oralce和db2兼容開發(fā)注意事項的相關(guān)資料,這里整理了幾個重要問題及如何解決,需要的朋友可以參考下
    2016-11-11
  • Oracle數(shù)據(jù)庫中刪除表空間的詳細步驟與示例代碼

    Oracle數(shù)據(jù)庫中刪除表空間的詳細步驟與示例代碼

    在 Oracle 數(shù)據(jù)庫中,表空間是存儲數(shù)據(jù)的邏輯容器,有時候,我們可能需要刪除不再使用的表空間以釋放空間或進行數(shù)據(jù)庫重組,本文將詳細介紹在 Oracle 數(shù)據(jù)庫中刪除表空間的步驟和示例代碼,需要的朋友可以參考下
    2024-01-01
  • 全面解析Oracle Procedure 基本語法

    全面解析Oracle Procedure 基本語法

    這篇文章主要介紹了Oracle Procedure 知識,包括oracle的存儲過程注意事項方面的內(nèi)容,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • Oracle 11g實現(xiàn)安全加固的完整步驟

    Oracle 11g實現(xiàn)安全加固的完整步驟

    這篇文章主要給大家介紹了關(guān)于Oracle 11g實現(xiàn)安全加固的完整步驟,文中通過示例代碼將實現(xiàn)的步驟一步步介紹的非常詳細,對大家學(xué)習(xí)或者使用Oracle 11g具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • oracle11g用戶登錄時被鎖定問題的解決方法 (ora-28000 the account is locked)

    oracle11g用戶登錄時被鎖定問題的解決方法 (ora-28000 the account is locked)

    最近在操作oracle11g的使用出現(xiàn)錯誤的現(xiàn)象:ora-28000 the account is locked,既用戶無法登錄問題,如何解決此問題呢?下面小編給大家?guī)砹薿racle11g用戶登錄時被鎖定問題的解決方法,感興趣的朋友一起看看吧
    2017-07-07
  • Oracle 查看表空間的大小及使用情況sql語句

    Oracle 查看表空間的大小及使用情況sql語句

    表空間使用情況包括:查看表空間的名稱及大小/查看表空間物理文件的名稱及大小/查看回滾段名稱及大小等等感興趣的你可以參考下本文
    2013-03-03
  • Oracle查看表結(jié)構(gòu)命令詳解

    Oracle查看表結(jié)構(gòu)命令詳解

    這篇文章主要介紹了Oracle查看表結(jié)構(gòu)命令詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • oracle中to_date詳細用法示例(oracle日期格式轉(zhuǎn)換)

    oracle中to_date詳細用法示例(oracle日期格式轉(zhuǎn)換)

    這篇文章主要介紹了oracle中to_date詳細用法示例,包括期和字符轉(zhuǎn)換函數(shù)用法、字符串和時間互轉(zhuǎn)、求某天是星期幾、兩個日期間的天數(shù)、月份差等用法
    2014-01-01
  • 解決Oracle RMAN刪除歸檔日志不釋放問題的方法

    解決Oracle RMAN刪除歸檔日志不釋放問題的方法

    RMAN清除方式會自動清除磁盤上的歸檔日志文件,同時會釋放控制文件中對應(yīng)的歸檔日志的歸檔信息,但最近在使用中就遇到了一個問題,下面這篇文章主要給大家介紹了關(guān)于解決Oracle RMAN刪除歸檔日志不釋放問題的方法,需要的朋友可以參考下。
    2017-07-07
  • Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動

    Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動

    Oracle 9i 數(shù)據(jù)庫異常關(guān)閉后的啟動...
    2007-03-03

最新評論