請問oracle中的序列是幹什麼用的

2022-03-10 05:00:00 字數 2780 閱讀 7233

1樓:每天一句神補刀

序列是一資料庫物件,利用它可生成唯一的整數。一般使用序列自動地生成主碼值。一個序列的值是由特殊的oracle程式自動生成,因此序列避免了在應用層實現序列而引起的效能瓶頸。

oracle序列允許同時生成多個序列號,而每一個序列號是唯一的。當一個序列號生成時,序列是遞增,獨立於事務的提交或回滾。允許設計預設序列,不需指定任何子句。

該序列為上升序列,由1開始,增量為1,沒有上限。

具體步驟

1.建立序列命令

create sequence [user.]sequence_name

[increment by n]

[start with n]

[maxvalue n | nomaxvalue]

[minvalue n | nominvalue]

increment by: 指定序列號之間的間隔,該值可為正的或負的整數,但不可為0。序列為升序。忽略該子句時,預設值為1。

start with:指定生成的第一個序列號。在升序時,序列可從比最小值大的值開始,預設值為序列的最小值。對於降序,序列可由比最大值小的值開始,預設值為序列的最大值。

maxvalue:指定序列可生成的最大值。

nomaxvalue:為升序指定最大值為1027,為降序指定最大值為-1。

minvalue:指定序列的最小值。

nominvalue:為升序指定最小值為1。為降序指定最小值為-1026。

2.更改序列命令

altersequence [user.]sequence_name

[increment by n]

[maxvalue n| nomaxvalue ]

[minvalue n | nominvalue];

修改序列可以:

修改未來序列值的增量。

設定或撤消最小值或最大值。

改變緩衝序列的數目。

指定序列號是否是有序。

刪除序列命令

drop sequence [user.]sequence_name;

從資料庫中刪除一序列。

建立一個序列號的語句:

中國網管聯盟bitscn.com

create sequence exam_no_seq

start with 1484

maxvalue 9999999999

minvalue 1

cache 20

noorder;

pb中取序列號的用法:

string  v_exam_no

select exam_no_seq.nextval into :v_exam_no from dual

using ghis_database;

if ghis_database.sqlcode<>0 then

messagebox("","取檢查序號出錯")

return

end if

2樓:匿名使用者

當你需要一個自動增長的id或別的什麼主鍵的時候,你可以用一個序列來解決問題。

3樓:匿名使用者

序列是一資料庫物件,

利用它可生成唯一的整數

orcale資料庫序列具體是什麼,做什麼用的?

4樓:成長的小碼農

1.無論哪一個資料庫,

自動生成序號都是必不可少的需求之

一。2.主流資料庫的自動生成序號策略

2.1在sql中用identity(1,1) 代表從整數1開始,每增加一條記錄,列值將自動增加1.

是在sql中使用的。

3.在oracle中建立序列create sequence 序列名稱4.使用序列序列有兩個重要的屬性

----currval和nextval

序列名.currval 序列碼.nextval在序列建立以後,應該先使用序列碼.nextval,然後再使用序列名.currval

5樓:李翀昊

就是oracle用來實現表中某一列自動遞增的,如1,2,3,4,5,6.......以後就自動加1了

oracle 的sequence是幹什麼用的?跟表有什麼關係?

6樓:匿名使用者

很簡單的可以這麼理解,在oracle中沒有自增欄位,用sequence可以實現序列的自增長,在你插入id的值的時候將內那容個欄位的插入值這樣寫 sequence_name.nextval 或者建立一個觸發器來進行關聯。

7樓:相蕩慈雅嫻

你寫錯了bai吧

?insert

into

kouvalues(kou_sequence1.nextval);

應該是點

du你寫成逗號了吧,還zhi有

你這種插入

kou表有多少個欄位那

dao麼values後面的回括號裡就應該有幾答個值你也可以選擇插入某些值

例如insert

into

kou(id)

values(kou_sequence1.nextval);

8樓:匿名使用者

oracle沒有自增型,只能用seq來彌補。

oracle 中 序列的 使用

9樓:匿名使用者

用序列再一個回話中先要查了序列_s.nextval

才可以查序列_s.currval,不然就會出現你遇到的情況。你可以試試

序列介面是幹什麼的序列口是做什麼的並行口又是做什麼的

口即序列通訊埠。微機上的 口通常是9針,也有25針的介面,最大速率115200bps。通常用於連線滑鼠 串列埠 及通訊裝置 如連線外接式modem進行資料通訊或一些工廠的 c機介面 等。一般主機板外部只有一個 口,機箱後面和並口一起的那個九孔輸出端 梯形 就是 1口,2口一般要從主機板上插針引出。並...

ORACLE中的SQL語句

你是不會寫oracle下的sql語句,還是沒有思路?前者的話,我也邦不了你,因為我也不會,哈哈。我一般都是在sql server下工作。後者的話,你可以這樣試試。寫一個方法,裡面宣告4個變數,用來接收4個文字框的text.再一個sql語句 select from 表名 where 1 1 sql s...

oracle中number型別預設長度是多少

number預設情況下,精度為38位,取值範圍1 38之間 不明白再問我,謝謝!5,3 代表 999.99 999.99 你的問題還真不知道,資料上沒有,不符值不佔位吧?oracle資料庫中number型別的欄位,不定義長度是什麼意思?number預設情況下,精度為38位,取值範圍1 38之間 它實...