欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

Create Table Student( 
 id number(12) primary key, --通過序列和觸發(fā)器實(shí)現(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; 

注意點(diǎn):

1:一個(gè)sequence可以被多個(gè)表共享。

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

3:如果不再使用的sequence請(qǐng)刪除。

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'

另一個(gè)例子:

新建一個(gè)缺少主鍵的表

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ā)注意事項(xiàng)

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

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

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

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

    全面解析Oracle Procedure 基本語法

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

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

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

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

    最近在操作oracle11g的使用出現(xiàn)錯(cuò)誤的現(xiàn)象:ora-28000 the account is locked,既用戶無法登錄問題,如何解決此問題呢?下面小編給大家?guī)砹薿racle11g用戶登錄時(shí)被鎖定問題的解決方法,感興趣的朋友一起看看吧
    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詳細(xì)用法示例(oracle日期格式轉(zhuǎn)換)

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

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

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

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

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

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

最新評(píng)論