DB2 自動遞增字段實現(xiàn)方法
來源:易賢網(wǎng) 閱讀:1447 次 日期:2014-10-14 11:12:21
溫馨提示:易賢網(wǎng)小編為您整理了“DB2 自動遞增字段實現(xiàn)方法”,方便廣大網(wǎng)友查閱!

使用這個一般是用作識別碼的,當做定義表格的主鍵。generated語法則可以自定義你想怎么產(chǎn)生這個值的策略。

語法如下:

column definition generated {always | by default}

as {identity identity rules | using your rules}

我們先刪掉上次我們建立的表格:

db2 => drop table nomination

然后再創(chuàng)建一個表格:

代碼如下:

Create table nomination

(

nominationID BIGINT Not Null Primary Key generated always as identity,

nominee char(6) Not Null,

nominator char(6) Not Null,

reason VARCHAR(250),

nomdate date Not Null,

categoryid INTEGER Not Null,

check (nominee != nominator) not enforced enable query optimization,

Foreign Key CategoryExists (categoryid)

references category (categoryid) on delete restrict

)

注意黑體字,以后我們就不能使用insert或者update來顯式的指定它的值了。

而DB2中的identity也提供了多種策略,具體的可以去查DB2手冊,我們舉例如下:

我們先刪掉上次我們建立的表格:

db2 => drop table category

然后建立表單

代碼如下:

Create table category

(

CategoryID INTEGER Primary Key Generated Always as Identity

(Start With 1 Increment by 1 minvalue 0 maxvalue 999999999

no cycle cache 5 no order),

CateogryName VARCHAR(50) Not Null,

Eligibility VARCHAR(250)

)

黑體字中identity中的語句你都能在DB2的手冊中查到,都是自然語言一看就懂了。

有時候你并不只想去做數(shù)字的填充,你可能還想處理一些字母,那么下邊這個轉換大寫的例子就是給你的:

db2 => alter table category add column

UpperCatName VARCHAR(50) generated always as (upper(CategoryName))

關于這些在DB2的文檔里都有具體說明。

更多信息請查看IT技術專欄

更多信息請查看數(shù)據(jù)庫
易賢網(wǎng)手機網(wǎng)站地址:DB2 自動遞增字段實現(xiàn)方法

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)