序列号是在業務系統中很重要的編号他是許多記錄的唯一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 //制定緩存序列值的個數
--
----------------------一個例子-----------------------
create
sequence for_test
--
序列名
increment
by
1
--
每次增加1
start
with
1
--
從1開始
nomaxvalue
--
沒有最大值
nocache
--
沒有緩存序列
--
--------------------------建立測試表------------------
create
table
Test
(
TestID
int
primary
key
,
TestName
varchar2
(
20
)
not
null
,
Tdescription
varchar2
(
200
)
null
)
--
---------------------------使用序列-------------------
insert
into
Test
values
(for_test.nextval,
'
序列測試
'
,
'
這是一個序列使用的例子
'
)
--
------------------序列使用結果查詢-----------------
select
*
from
test
----------------------------------- 更改序列指令
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
就這麼簡單。上面道的方法善用的話 應該可以得到想要的序列号。