天天看點

oracle中sql目前序列号,超級SQL之序列号-Oracle

序列号是在業務系統中很重要的編号他是許多記錄的唯一ID,下面總結一下得到序列号的方法。

1。程式生成

這是最好想象的,我們用程式來按照固定的方式生成自己想要的序列号。

然後用Oracle 來控制号碼的唯一性。這種方法很多,基本上可以結合下面的方法來使用。

2。Oralce本身提供的字增長列 ------------這條内容是轉貼

create   sequence   name

increment   by   x   //x為增長間隔

start   with     x   //x為初始值

maxvalue         x   //x為最大值

minvalue         x   //x為最小值

cycle                //循環使用,到達最大值或者最小值時,從建立立對象

cache            x   //制定緩存序列值的個數

oracle中sql目前序列号,超級SQL之序列号-Oracle

--

----------------------一個例子-----------------------

oracle中sql目前序列号,超級SQL之序列号-Oracle

create

sequence   for_test

--

序列名

oracle中sql目前序列号,超級SQL之序列号-Oracle

increment

by

1

--

每次增加1

oracle中sql目前序列号,超級SQL之序列号-Oracle

start

with

1

--

從1開始

oracle中sql目前序列号,超級SQL之序列号-Oracle

nomaxvalue

--

沒有最大值

oracle中sql目前序列号,超級SQL之序列号-Oracle

nocache

--

沒有緩存序列

oracle中sql目前序列号,超級SQL之序列号-Oracle
oracle中sql目前序列号,超級SQL之序列号-Oracle

--

--------------------------建立測試表------------------

oracle中sql目前序列号,超級SQL之序列号-Oracle

create

table

Test

oracle中sql目前序列号,超級SQL之序列号-Oracle

(

oracle中sql目前序列号,超級SQL之序列号-Oracle

TestID

int

primary

key

,

oracle中sql目前序列号,超級SQL之序列号-Oracle

TestName

varchar2

(

20

)

not

null

,

oracle中sql目前序列号,超級SQL之序列号-Oracle

Tdescription

varchar2

(

200

)

null

oracle中sql目前序列号,超級SQL之序列号-Oracle

)

oracle中sql目前序列号,超級SQL之序列号-Oracle
oracle中sql目前序列号,超級SQL之序列号-Oracle

--

---------------------------使用序列-------------------

oracle中sql目前序列号,超級SQL之序列号-Oracle

insert

into

Test

oracle中sql目前序列号,超級SQL之序列号-Oracle

values

(for_test.nextval,

'

序列測試

'

,

'

這是一個序列使用的例子

'

)

oracle中sql目前序列号,超級SQL之序列号-Oracle
oracle中sql目前序列号,超級SQL之序列号-Oracle

--

------------------序列使用結果查詢-----------------

oracle中sql目前序列号,超級SQL之序列号-Oracle

select

*

from

test

oracle中sql目前序列号,超級SQL之序列号-Oracle

----------------------------------- 更改序列指令

ALTERSEQUENCE [user.]sequence_name

[INCREMENT BY n]

[MAXVALUE n| NOMAXVALUE ]

[MINVALUE n | NOMINVALUE];

修改序列可以:

? 修改未來序列值的增量。

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

? 改變緩沖序列的數目。

? 指定序列号是否是有序。

---------------------------------删除序列指令

DROP SEQUENCE [user.]sequence_name;

從資料庫中删除一序列。

3。SQL記錄的序号

這個做報表的時候我要顯示序号,但又不想用程式生成。

因為程式寫的話要再寫一個循環,這樣速度就慢了,是以我們就用rownum,這是Oracle的一個關鍵字

select   rownum,  aa   from   table

就這麼簡單。上面道的方法善用的話 應該可以得到想要的序列号。