日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle中的序列SEQUENCE詳解

瀏覽:297日期:2023-03-12 15:25:03

一、序列介紹

Oracle的序列是一種數(shù)據(jù)庫(kù)對(duì)象,主要作用是用來(lái)產(chǎn)生唯一值。序列被創(chuàng)建以后可以通過(guò)數(shù)據(jù)字典找到序列對(duì)象,因此序列可以被多個(gè)對(duì)象共享。

二、創(chuàng)建序列

序列使用CREATE SEQUENCE語(yǔ)法進(jìn)行創(chuàng)建:

CREATE SEQUENCE sequence 
[INCREMENT BY n]
 [START WITH n]
 [{MAXVALUE n | NOMAXVALUE}]
 [{MINVALUE n | NOMINVALUE}]
 [{CYCLE | NOCYCLE}]
 [{CACHE n | NOCACHE}];
  • NCREMENT BY:用于定義序列的步長(zhǎng),如果省略,則默認(rèn)為1,如果是負(fù)值,則代表序列的值是遞減的。
  • START WITH:定義序列的初始值(即產(chǎn)生的第一個(gè)值),默認(rèn)為1。
  • MAXVALUE:定義序列能生成的最大值。NOMAXVALUE是默認(rèn)選項(xiàng),代表沒(méi)有最大值,這時(shí),對(duì)于遞增序列,系統(tǒng)能夠產(chǎn)生的最大值是10的27次方;對(duì)于遞減序列,最大值是-1。
  • MINVALUE:定義序列能生成的最小值。NOMINVALUE是默認(rèn)選項(xiàng),代表沒(méi)有最小值,這時(shí),對(duì)于遞減序列,系統(tǒng)能夠產(chǎn)生的最小值是負(fù)的10的26次方;對(duì)于遞減序列,最小值是1。
  • CYCLE和NOCYCLE:表示當(dāng)序列生成器的值達(dá)到限制后是否循環(huán)。如果循環(huán),當(dāng)遞增序列達(dá)到最大值時(shí),循環(huán)到最小值;對(duì)于遞減序列,達(dá)到最小值時(shí),循環(huán)到最大值。如果不循環(huán),達(dá)到限制值后,繼續(xù)產(chǎn)生新值就會(huì)發(fā)生錯(cuò)誤。
  • CACHE:定義存放序列的內(nèi)存塊的大小,默認(rèn)為20。NOCACHE表示不對(duì)序列進(jìn)行內(nèi)存緩沖。對(duì)序列進(jìn)行內(nèi)存緩沖,可以改善序列的性能。

例如:

CREATE SEQUENCE invoice_seq
INCREMENT BY 1
START WITH 1
MAXVALUE 9999999
NOCYCLE NOCACHE;

三、查詢序列

一旦序列被創(chuàng)建,序列的創(chuàng)建代碼就被文本化在數(shù)據(jù)字典中,可以在user_objects數(shù)據(jù)字典中看到,如:

SELECT object_name,object_id,object_type  FROM user_objects WHERE object_name = "INVOICE_SEQ";

在user_sequences表中保存了序列明細(xì)信息:

SELECT sequence_name, min_value, max_value, increment_by, last_number  FROM user_sequences;

四、使用序列

NEXTVAL和CURRVAL偽列

  • NEXTVAL:返回下一個(gè)可用的序列值,它每次返回一個(gè)唯一的被引用值,實(shí)際對(duì)不同的用戶也是如此。當(dāng)使用sequence.NEXTVAL時(shí),一個(gè)新的序列數(shù)被產(chǎn)生并且當(dāng)前的序列數(shù)被放入CURRVAL。
  • CURRVAL:獲得當(dāng)前的序列值。在首次使用NEXTVAL之前就使用CURRVAL的話,會(huì)報(bào)錯(cuò)。

使用如下 :

SELECT invoice_seq.CURRVAL,invoice_seq.NEXTVAL FROM DUAL;

INSERT INTO invoice  (invoice_id, vendor_id, invoice_number, invoice_total  )
      VALUES (invoice_seq.NEXTVAL, 10, "INV" || invoice_seq.CURRVAL, 100  );

可以在下面的上下文中使用NEXTVAL和CURRVAL:

  • 不是子查詢的一部分的SELECT語(yǔ)句的字段列表。
  • INSERT語(yǔ)句中子查詢的SELECT列表。
  • INSERT語(yǔ)句中的VALUES子句。
  • UPDATE語(yǔ)句中的SET子句。

不能再以下的上下文中使用NEXTVAL和CURRVAL:

  • 視圖的SELECT列表。
  • 帶DISTINCT的SELECT語(yǔ)句。
  • 帶GROUP BY、HAVING或ORDER BY子句的SELECT語(yǔ)句。
  • 在SELECT、DELETE或UPDATE語(yǔ)句中的子句。
  • 在CREATE TABLE或ALTER TABLE語(yǔ)句中的DEFAULT表達(dá)式。

另外要注意,ROLLBACK并不能使序列值回滾。

五、修改序列

如:

ALTER SEQUENCE invoice_seq     INCREMENT BY 2 MAXVALUE 10   NOCACHE  NOCYCLE;

修改序列時(shí),有如下幾個(gè)限制:

  • 不能該表序列的起始值。
  • 最小值不能大于當(dāng)前值。
  • 最大值不能小于當(dāng)前值。
  • 修改后的序列規(guī)則不會(huì)影響以前的序列值,只有未來(lái)的序列值會(huì)受到影響。
  • 用戶必須具有ALTER SEQUENCE的權(quán)限。

六、刪除序列

DROP SEQUENCE invoice_seq;

七、創(chuàng)建自增序列

1、創(chuàng)建一個(gè)序列

create sequence sq_recid 
minvalue 1 maxvalue 999999  increment by 1   start with 1 noCYCLE;

2、創(chuàng)建一個(gè)觸發(fā)器

create or replace trigger  trg_test
  before  insert on test for each row
begin
  select sq_recid.nextval into :new.ID from dual;
end;

alter  trigger trg_test  enable;

3、在C#中也可以手工插入序列到表中

string sql="insert into test(ID,otherCol)value (Sql_recid.nextval,***)
    retuing ID into :ID"

到此這篇關(guān)于Oracle序列SEQUENCE的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。

標(biāo)簽: Oracle
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
一区二区精彩视频| 欧美一区二区三区激情视频| 日韩精品一卡二卡三卡四卡无卡 | 久久国产精品色av免费看| 亚洲香蕉久久| 欧美日韩精品一区二区视频| 99久久精品费精品国产| 91精品蜜臀一区二区三区在线| 香蕉久久99| 影院欧美亚洲| 亚洲视频电影在线| 日韩欧美美女在线观看| 欧美综合社区国产| 国产精品永久| 91中文字幕精品永久在线| 另类中文字幕国产精品| 亚洲美洲欧洲综合国产一区| 亚洲一区二区三区久久久| 欧美亚洲免费| 精品成av人一区二区三区| 粉嫩av一区二区三区四区五区| 日韩欧美一区二区三区在线视频| 欧美一区二区三区激情视频| 黄色av日韩| 日韩精品91亚洲二区在线观看| 国产精品亚洲综合久久| а√在线中文在线新版| 久久精品卡一| 国产亚洲精品v| 日韩中文av| 国产经典一区| 欧美 日韩 国产精品免费观看| 久久国产精品久久久久久电车| 欧美亚洲免费| 天堂av在线| 欧美午夜不卡| 日本成人中文字幕在线视频| 你懂的网址国产 欧美| 在线亚洲人成| 日韩中文字幕1| 精品三区视频| 夜久久久久久| 国产欧美一区二区三区精品观看| 国产一区二区三区日韩精品| 国产一区清纯| 91麻豆精品激情在线观看最新| 中文字幕人成乱码在线观看 | 中文一区一区三区免费在线观 | 日韩精品永久网址| 视频福利一区| 深夜福利亚洲| 成人午夜在线| 美女久久一区| 国产精品theporn| 欧美一区二区三区高清视频| 日韩免费精品| 性欧美videohd高精| 亚洲精品伦理| 91精品xxx在线观看| 日本一不卡视频| 亚洲一级少妇| 国产欧美日韩影院| 婷婷色综合网| 久久精品资源| 国产伦理久久久久久妇女| 亚洲成人精品| 国产精品嫩草影院在线看| 欧美成人基地 | 日韩欧美午夜| 国产日韩在线观看视频| 欧美日韩国产一区二区三区不卡| 日韩精品高清不卡| 久久婷婷丁香| 国产日韩中文在线中文字幕 | 黄在线观看免费网站ktv| 蜜桃久久av一区| 日韩毛片在线| 国产精品一区二区三区美女 | 91p九色成人| 极品裸体白嫩激情啪啪国产精品| 国产麻豆精品久久| 在线视频亚洲欧美中文| 日韩精品一区二区三区免费观影 | 亚洲精华国产欧美| 久久av免费看| 只有精品亚洲| 午夜视频精品| 91亚洲国产高清| 嫩呦国产一区二区三区av| 午夜性色一区二区三区免费视频| 91精品一区国产高清在线gif | 蜜臀91精品国产高清在线观看| 国产精品hd| 综合激情五月婷婷| 久久中文字幕二区| 国精品产品一区| 国产精品亚洲欧美日韩一区在线| 影音先锋久久精品| 蜜臀av免费一区二区三区| 日韩综合在线| 麻豆高清免费国产一区| 国产香蕉精品| 亚洲精品伊人| 亚洲综合日韩| 国内亚洲精品| 电影天堂国产精品| 毛片在线网站| 国产一区二区三区视频在线| 欧美精品成人| 黄色日韩精品| 日韩精品欧美激情一区二区| zzzwww在线看片免费| 精品一级视频| 麻豆91精品视频| 欧美a在线观看| 久草精品视频| 国产一区福利| 福利在线一区| 成人一区而且| 精品国产欧美| 国产中文欧美日韩在线| 免费精品一区| 精品国产成人| 日韩.com| 日韩av专区| 中文字幕在线视频网站| 国产一区二区三区91| 国产成人精品亚洲线观看| 成人亚洲精品| 精精国产xxxx视频在线野外 | 在线日韩视频| 精品一区在线| 亚洲欧美日韩一区在线观看| 一区二区三区国产在线| 日韩一区二区三免费高清在线观看| 日韩在线不卡| 国产免费av一区二区三区| 色狠狠一区二区三区| 日韩黄色av| 国产精品探花在线观看| 精品亚洲精品| 亚洲免费福利| 91成人网在线观看| 蜜桃久久久久久| 日韩高清二区| 国产精品99久久免费观看| 福利一区和二区| 蜜桃av.网站在线观看| 欧美日韩激情在线一区二区三区| 日韩视频一区| 日韩精品亚洲专区| 国产精品久久777777毛茸茸| 国产中文欧美日韩在线| 裤袜国产欧美精品一区| 黄色成人精品网站| 亚洲色图国产| 国产黄色一区| 麻豆国产精品一区二区三区| 日韩精品欧美| 亚洲精品日本| 精品国产18久久久久久二百| 美女毛片一区二区三区四区 | 综合日韩在线| 国产精品日本一区二区不卡视频 | 夜夜嗨一区二区| 欧美一区二区三区免费看| 国产精品亚洲人成在99www| 国产精品久久久久久久免费观看| 久久久五月天| 日本不卡一二三区黄网| 国产精品99一区二区三区| 激情综合激情| 清纯唯美亚洲综合一区| 日韩免费在线| 免费人成精品欧美精品| 精品资源在线| 模特精品在线| 国产精品视频3p| 久久久影院免费| 欧美一区成人| 欧美日韩激情在线一区二区三区| 日日夜夜免费精品| 最新中文字幕在线播放| 巨乳诱惑日韩免费av| 国产精品探花在线观看| av一区二区高清| 国产精品伦一区二区| 在线一区欧美| 精品美女视频| 模特精品在线| 国产亚洲激情| 狂野欧美性猛交xxxx| 国产女优一区| 不卡专区在线| 天堂va在线高清一区| 成人久久一区| 国产福利亚洲| 亚洲深夜影院| 红杏一区二区三区| 亚洲精品欧美|