當前位置:首頁 » 編程語言 » oracle創建序列sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle創建序列sql

發布時間: 2023-07-05 18:27:36

① oracle創建一個序列,讓他一直顯示五位怎麼做,比如00001/00002/00003.......

我們經常會在在DB中創建序列:
-- Create sequence
create sequence COMMON_SEQ
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20
cycle;

我們的序列的最小值是從1開始,但是我們想讓這種順序取出來的序列的位數都一樣,按照最大數的位數來算,我們需要8位的序列,那麼我們就需要在1的前面補上7個零,只需要用下面的方法即可完成

select to_char(sysdate,'yyyyMMddHH24miss') || replace(lpad(common_sql.nextval,5,'0'),'','0') from al;

黑體部分的函數lpad就是在左側補零,rpad是右側補零

整個sql還有其他部分,就是我們可以讓序列以特定的開頭展示,比如我們用年月日時分秒14位來作為我們序列的開頭,就是上面完整的sql

② 怎麼查看oracle創建的序列

執行如下sql:

select * from user_sequences;

如果需要查看某個特定的序列,如下:

select * from user_sequences where sequence_name like '%T_SELL_BRAND%';

select * from user_sequences where sequence_name='SEQ_T_SELL_BRAND';

注意:序列名區分大小寫。

③ 如何在oracle存儲過程中drop 序列和新建序列

1、首先要保證該資料庫用戶有刪除序列和新建序列的許可權,存儲過程中這個許可權要顯示賦權:
grant
create
sequence
to
資料庫用戶;
grant
drop
any
sequence
to
資料庫用戶;
2、存儲過程中創建序列和刪除序列:
創建序列:
execute
immediate
'create
sequence
序列名'
||
chr(10)
||
'minvalue
1'
||
chr(10)
||
'maxvalue
999999999999999999999999999'
||
chr(10)
||
'start
with
1'
||
chr(10)
||
'increment
by
1'
||
chr(10)
||
'cache
20';
刪除序列:
execute
immediate
'drop
sequence
序列名';

④ Oracle資料庫,創建一個序列,怎麼設定該最大值無限制小為 1

create sequence seq2

NOMAXVALU
start with 1
increment by 1;

1.創建序列

ORACLE序列的語法格式為:

CREATE SEQUENCE 序列名
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE/ MINVALUE n|NOMAXVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}];

參考自:http: //www.cnblogs.com/kerrycode/archive/2013/03/18/2965747.html

⑤ Oracle資料庫如何創建自增序列

oracle的自增需要依靠序列和觸發器共同實現

比如

先創建一個表

createtabletest(idintprimarykey,
namevarchar2(10));

創建一個序列

createsequencetest_seq
incrementby1
startwith1
minvalue1
maxvalue9999999999999
nocache
order;

觸發器實現

createorreplacetriggertest_trigger
beforeinsertontestforeachrow
begin
selecttest_seq.Nextvalinto:new.idfromal;
end;

然後你試試吧

insertintotest(name)values('張三');