成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何輕松實現DB2自動增長主鍵?

數據庫
我們今天是要和大家一起討論的是DB2自動增長主鍵的方法,你如果對其有興趣的話你就可以點擊以下的文章進行觀看了。

以下的文章主要描述的是DB2自動增長主鍵的方法,如果你對DB2自動增長主鍵的方法有興趣的話,你就可以對以下的文章點擊觀看了,以下就是具體方案的描述,希望在你今后的學習中會有所幫助。

我們大家都知道DB2數據庫可以使用generated always as identity ,將某一個字段指定為自增長的字段,比如:這表示id自動是一個自增長的字段,它從1開始增加每次增加1。

也可以通過generated 將字段的值通過其他字段的計算的來,比如;

 

  1. create table user(name varchar(30),   
  2. n1 integer,   
  3. n2 integer ,   
  4. id integer generated always as (n1+n2))  

如:

  1. create table strategy   
  2. (   
  3. strategy_id decimal(17)   
  4. GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1 )   
  5. primary key not null,   
  6. strategy_name varchar(200),   
  7. area_code decimal(6,0)   
  8. );   
  9. GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1 )  

從1開始自增,每次加1.

DB2 Identity字段 與 sequence:

Identity字段與sequence的最大不同在于:identity只能在一個表中使用,多個表不可以共享identity;而sequence可以通過命名方式在同一個數據庫內部的多個表中共享序列號發生器

生成數字序列的兩種方法

在 DB2 中可以用兩種方法自動生成一個數字序列:

定義帶有 IDENTITY 屬性的列。

創建 SEQUENCE 對象。

 

IDENTITY 列

 

當用 IDENTITY 屬性定義表的列時,每當將一行插入表時,就會自動為該列生成一個數值。

SEQUENCE 對象

讓 DB2 自動生成數字序列的第二種方法是創建 SEQUENCE 對象。可以使用 序列表達式(sequence expression)來引用序列對象。序列表達式可以出現在表達式能夠出現的大多數位置。序列表達式可以指定要返回的值是新生成的值還是以前生成的值。

如果序列引用是針對 下一值(next value),就會為序列自動生成一個數值,并將該數值作為序列表達式的結果返回。例如,如果我們假設已經創建了名為 orders_seq 的序列,該序列表達式就返回為序列生成的下一個值:

NEXT VALUE FOR orders_seq

如果序列引用是針對 前一值(previous value),那么會將前一個 SQL 語句中為序列生成的數值作為序列表達式的結果返回。該序列表達式返回由序列生成的前一個值:

 

  1. PREVIOUS VALUE FOR orders_seq  

注:當 DB2 UDB 引入序列時,曾支持非 SQL 標準語法 NEXTVAL 代替 NEXT VALUE ,以及 PREVVAL 代替 PREVIOUS VALUE 。這些變體繼續受到支持。

 

在標識和序列之間做出選擇

 

雖然標識和序列都用于生成數值,但您也許要根據特殊情況選擇使用一種來代替另一種。

在以下情況下,標識列很有用:

表中只有一列需要自動生成的值

每一行都需要獨立的值

 

用自動生成器來產生表的DB2自動增長主鍵

 

生成新值的進程與對表的插入操作緊密聯系,無論插入操作是如何發生的

 

在以下情況下,序列對象很有用:

 

要將從一個序列生成的值存儲到多個表中

每個表有多個列需要自動生成的值(可能通過使用同一個序列或多個序列為每一行生成多個值)

 

生成新值的進程與任何對表的引用無關

 

與序列對象不同,標識列是在表上定義的,因此需要某些限制。每個表最多只能有一個標識列。當創建一個列作為標識列時,對于該列必須使用確切的數字數據類型。因為標識屬性為列生成一個值,這類似于 DEFAULT 子句所做的,所以在定義標識列時不能指定 DEFAULT 子句。標識列被隱式地定義成 NOT NULL 。以上的相關內容就是對DB2自動增長主鍵的方法的介紹,望你能有所收獲。

 

【編輯推薦】

  1. DB2性能調優中存在哪些問題,如何破解?
  2. DB2 數據類型如何才能輕松接觸?
  3. DB2v9.5控制中心建庫報錯如何挽救?
  4. IBM DB2數據庫錯誤信息的大集合,不得不看!
  5. 降低DB2管理表空間的高水位標記實操
責任編輯:佚名 來源: it168.com
相關推薦

2010-08-20 10:18:32

DB2自動增長主鍵

2010-08-19 13:14:17

DB2自動增長主鍵

2010-08-03 13:23:47

DB2自動增長主鍵

2010-11-02 15:28:28

DB2 sequenc

2010-09-07 13:04:20

DB2數據庫

2010-08-09 15:44:44

DB2 數據類型

2010-07-27 09:29:40

DB2數據移動

2010-11-03 14:28:15

DB2行轉列

2010-11-04 13:50:20

DB2在線導入

2010-08-16 17:07:43

DB2 trc

2010-08-02 10:06:43

DB2數據移動

2010-09-30 15:52:55

DB2循環查詢

2010-08-05 16:13:20

DB2數據庫

2010-11-03 14:52:26

DB2列轉行

2010-11-03 11:30:56

DB2表空間擴容

2010-09-07 16:11:19

執行DB2命令

2009-08-25 17:20:57

C#實現OLE DB的

2010-11-02 15:08:40

設置db2主鍵

2010-08-16 14:16:28

DB2實例

2010-11-02 15:56:42

DB2添加驗證約束
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本国产高清 | 国产香蕉视频在线播放 | 久热久热 | 国产精品视频一区二区三 | 久久精品亚洲一区 | 蜜臀久久 | 国产又色又爽又黄又免费 | 啪啪免费网| 国产日韩免费视频 | 国产亚洲日本精品 | 范冰冰一级做a爰片久久毛片 | 国产欧美一区二区三区在线看 | 成年人国产在线观看 | 欧美日韩在线观看一区 | 中文字幕第十五页 | 81精品国产乱码久久久久久 | 久久精品久久久久久 | 一区二区三区高清在线观看 | 久久国产精品99久久久久 | 中文字幕在线观看国产 | 一本大道久久a久久精二百 欧洲一区二区三区 | 国产在线播 | 欧美日韩国产高清 | 成人久久18免费网站麻豆 | 午夜精品在线 | www.天天操.com| 国产精品视频一区二区三区 | 欧美精品久久久久久久久久 | 国产精品污www在线观看 | 国产欧美在线视频 | 中文字幕在线免费观看 | 精品不卡| 久久影音先锋 | 日韩一区二区福利视频 | 欧美亚洲视频 | 国产一区二区视频免费在线观看 | 伊人伊成久久人综合网站 | 99这里只有精品视频 | 精品乱码一区二区 | 欧美日韩在线免费观看 | 久久精品中文字幕 |