直接創(chuàng)建一個序列:

創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、古丈網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、商城建設(shè)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為古丈等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
例如:序列名為: seq_pick
create sequence SEQ_PICK
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 5;
當(dāng)你往表里面查數(shù)據(jù),
INSERT INTO PICK(id,name,code,modifieddate,modiferid,remark) VALUES
(seq_pick.nextval, 'CLERK',7902, SYSDATE, 1200, NULL);
共享資料
Oracle用觸發(fā)器實現(xiàn)自增長列:
比如表名:tab,主鍵為:id
1. 增加一個序列號: ? create sequence seq_tab
2. 增加一個觸發(fā)器,如果是insert,則取序列號值,賦予主鍵列
CREATE?OR?REPLACE?TRIGGER?TRI_tab
BEFORE?INSERT?ONtabFOR?EACH?ROW
DECLARE
--?LOCAL?VARIABLES?HERE?????
BEGIN
IF?:NEW.id?IS?NULL?THEN
SELECT?SEQ_tab.NEXTVAL?INTO?:NEW.id?FROM?DUAL;
END?IF;
END?TRI_tab;
可以使用序列實現(xiàn)id自增,主鍵的語法為primary key。
當(dāng)一個序列第一次被查詢調(diào)用時,它將返回一個預(yù)定值。在隨后的每次查詢中,序列將產(chǎn)生一個按指定的增量增長的值。序列可以循環(huán),或者是連續(xù)增加的,直到指定的最大值為止。
創(chuàng)建序列語法如下:create sequence [模式]序列名稱[start with 起始數(shù)字] [increment by 增量][maxvalue 最大值|nomaxvalue][minvalue 最小值|nominva lue][cycle|nocuyle][cache 數(shù)目|nocache][order|noorder]。
具體代碼示例如下:
創(chuàng)建表? ? ??
create table book(? ? ?
bookId varchar2(4) primary key,?
name varchar2(20)? ? ? ?
);?
創(chuàng)建序列? ?
create sequence book_seq start with 1 increment by 1;
創(chuàng)建觸發(fā)器? ?
create or replace trigger book_trigger? ? ?
before insert on book? ? ?
for each row? ? ?
begin? ? ?
select book_seq.nextval into :new.bookId from dual;
end ;?
添加數(shù)據(jù)? ?
insert into book(name)? values ('cc');?
insert into book(name)? values ('dd');?
commit;
擴展資料:
在數(shù)據(jù)表中,有時候需要主鍵值自動增加,但在Oracle數(shù)據(jù)庫中,沒有象Mysql的Autoincrement一樣自動增長的數(shù)據(jù)類型。在實現(xiàn)Oracle數(shù)據(jù)庫字段自增功能時,利用DML觸發(fā)器來完成。
觸發(fā)器(trigger)是一些過程,當(dāng)發(fā)生一個特定的數(shù)據(jù)庫事件時就執(zhí)行這些過程,可以使用觸發(fā)器擴充引用的完整性。DML即數(shù)據(jù)操縱語言,用于讓用戶或程序員使用,實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)的操作。基本的數(shù)據(jù)操作分成兩類四種:檢索(查詢)和更新(插入、刪除、修改)。
觸發(fā)器類似于函數(shù)和過程,其在數(shù)據(jù)庫中以獨立身分存在。觸發(fā)事件可以是對數(shù)據(jù)庫表的DML(insert、update或delete)操作等。
一 :創(chuàng)建序列
二:引用序列
例如:
一
SQL create sequence t1_sequence increment by 1 start with 1;
二
SQL create table t1(id number);
SQL insert into t1 values(t1_sequence.nextval);
SQL insert into t1 values(t1_sequence.nextval);
三
SQL select * from t1;
ID
----------
1
2
網(wǎng)站欄目:oracle如何自動加1,oracle 日期加1
URL分享:http://chinadenli.net/article48/dsgijep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、用戶體驗、虛擬主機、外貿(mào)建站、網(wǎng)站設(shè)計公司、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)