日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle创建表时创建序列号,oracle表中怎么建序列

發布時間:2024/9/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle创建表时创建序列号,oracle表中怎么建序列 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。

1、Create?Sequence

你首先要有CREATE?SEQUENCE或者CREATE?ANY?SEQUENCE權限,

CREATE?SEQUENCE?emp_sequence

INCREMENT?BY?1???--?每次加幾個

START?WITH?1?????--?從1開始計數

NOMAXVALUE???????--?不設置最大值

NOCYCLE??????????--?一直累加,不循環

CACHE?10;

一旦定義了emp_sequence,你就可以用CURRVAL,NEXTVAL

CURRVAL=返回?sequence的當前值

NEXTVAL=增加sequence的值,然后返回?sequence?值

比如:

emp_sequence.CURRVAL

emp_sequence.NEXTVAL

可以使用sequence的地方:

-?不包含子查詢、snapshot、VIEW的?SELECT?語句

-?INSERT語句的子查詢中

-?NSERT語句的VALUES中

-?UPDATE?的?SET中

可以看如下例子:

INSERT?INTO?emp?VALUES

(empseq.nextval,?‘LEWIS‘,?‘CLERK‘,7902,?SYSDATE,?1200,?NULL,?20);

SELECT?empseq.currval??????FROM?DUAL;

但是要注意的是:

-?第一次NEXTVAL返回的是初始值;隨后的NEXTVAL會自動增加你定義的INCREMENT?BY值,然后返回增加后的值。CURRVAL?總是返回當前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否則會出錯。一次NEXTVAL會增加一次SEQUENCE的值,所以如果你在同一個語句里面使用多個NEXTVAL,其值就是不一樣的。明白?

-?如果指定CACHE值,ORACLE就可以預先在內存里面放置一些sequence,這樣存取的快些。cache里面的取完后,oracle自動再取一組到cache。?使用cache或許會跳號,?比如數據庫突然不正常down掉(shutdown?abort),cache中的sequence就會丟失.?所以可以在create?sequence的時候用nocache防止這種情況。

2、Alter?Sequence

你或者是該sequence的owner,或者有ALTER?ANY?SEQUENCE?權限才能改動sequence.?可以alter除start至以外的所有sequence參數.如果想要改變start值,必須?drop???sequence?再?re-create?.

Alter?sequence?的例子

ALTER?SEQUENCE?emp_sequence

INCREMENT?BY?10

MAXVALUE?10000

CYCLE?????--?到10000后從頭開始

NOCACHE?;

影響Sequence的初始化參數:

SEQUENCE_CACHE_ENTRIES?=設置能同時被cache的sequence數目。

可以很簡單的Drop?Sequence

DROP?SEQUENCE?order_seq;

原文:http://my.oschina.net/u/1866821/blog/299970

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的oracle创建表时创建序列号,oracle表中怎么建序列的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。