實現(xiàn)oracle數(shù)據(jù)庫字段自增長(兩種方式)建站知
導(dǎo)讀:1建站知識這篇文章主要通過兩種方式實現(xiàn)oracle數(shù)據(jù)庫字段自增長,第一種方式是序列+觸發(fā)器,第二種方式序列+顯示調(diào)用序列,需要的朋友可以參考下 程序猿都知道m(xù)ysql等網(wǎng)站建設(shè)公司網(wǎng)站建設(shè)。
這篇文章主要通過兩種方式實現(xiàn)oracle數(shù)據(jù)庫字段自增長,第一種方式是序列+觸發(fā)器,第二種方式序列+顯示調(diào)用序列,需要的朋友可以參考下
程序猿都知道m(xù)ysql等其他的數(shù)據(jù)庫都有隨著記錄的插入而表ID會自動增長的功能,反而oracle卻沒有這一功能,下面通過兩種方式來解決字段增長的功能,具體內(nèi)容情況下文。
因為兩種方式都需要通過創(chuàng)建序列來實現(xiàn),這里先給出序列的創(chuàng)建方式。
復(fù)制代碼代碼如下: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUE n|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}]; 解析:
1)INCREMENT BY用于定義序列的步長,如果省略,則默認為1,如果出現(xiàn)負值,則代表Oracle序列的值是按照此步長遞減的。
2)START WITH 定義序列的初始值(即產(chǎn)生的第一個值),默認為1。
3)MAXVALUE 定義序列生成器能產(chǎn)生的最大值。選項NOMAXVALUE是默認選項,代表沒有最大值定義,這時對于遞增Oracle序列,系統(tǒng)能夠產(chǎn)生的最大值是10的27次方;對于網(wǎng)seo優(yōu)化趨勢遞減序列,最大值是-1。
4)MINVALUE定義序列生成器能產(chǎn)生的最小值。選項NOMAXVALUE是默認選項,代表沒有最小值定義,這時對于遞減序列,系統(tǒng)能夠產(chǎn)生的最小值是?10的26次方;對于遞增序列,最小值是1。
5)CYCLE和NOCYCLE 表示當(dāng)序列生成器的值達到限制值后是否循環(huán)。CYCLE代表循環(huán),NOCYCLE代表不循環(huán)。如果循環(huán),則當(dāng)遞增序列達到最大值時,循環(huán)到最小值;對于遞減序列達到最小值時,循環(huán)到最大值。如果不循環(huán),達到限制值后,繼續(xù)產(chǎn)生新值就會發(fā)生錯誤。
6)CACHE(緩沖)定義存放序列的內(nèi)存塊的大小,默認為20。NOCACHE表示不對序列進行內(nèi)存緩沖。網(wǎng)站seo優(yōu)化對序列進行內(nèi)存緩沖,可以改善序列的性能。
解決方式一、序列+觸發(fā)器
具體實現(xiàn)方式如下:
第一步,創(chuàng)建sequence
復(fù)制代碼代碼如下: -- Create sequence create sequence SEQ_T_RECV minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 50;
第二步,創(chuàng)建表
復(fù)制代碼代碼如下: -- Create table create table RECV_MSG ( id NUMBER, messageid VARCHAR2(32), contents VARCHAR2(2000), app_flg VARCHAR2(100), phonenumber VARCHAR2(2000), updatetime DATE default sysdate );
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-22 ,文章實現(xiàn)oracle數(shù)據(jù)庫字段自增長(兩種方式)建站知主要講述兩種,字段,實現(xiàn)oracle數(shù)據(jù)庫字段自增長(兩種方式網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_4203.html