程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 深度分析DB2修改表

深度分析DB2修改表

編輯:DB2教程

DB2修改表操作相信大家都不陌生,下文對DB2修改表方面結合了一些例子進行了詳細的分析討論,供您參考學習。

DB2修改表
使用ALTER TABLE語句來更改列屬性,例如可空性、LOB選項、作用域、約束、壓縮屬性以及數據類型等等。

例如,在命令行中輸入:

ALTER TABLE EMPLOYEE  ALTER COLUMN WORKDEPT  SET DEFAULT '123'

在DB2 V9 for Linux、UNIX and Windows上,已經對ALTER TABLE語句作了改進,現在它可以用來執行以下操作:

●   使用新的DROP COLUMN子句刪除列

●   使用ALTER COLUMN SET DATA TYPE子句修改列屬性

●   使用SET NOT NULL或DROP NOT NULL子句修改列的可空屬性

在使用SQL修改這些表屬性時,不再需要刪除表 並重新創建它。這原來是一個很耗費時間的過程,而且在存在對象依賴時可能會很復雜。除了上述新增加的特性外,還可以使用DB2 V9版本以前的修改表語句:

●   增加列。增加的新列是表中的最後一列;也就是說,如果最初有n列,那麼添加的列將是第n+1列。添加新列不能使所有列的總字節數超過最大記錄大小。

●   修改與列關聯的默認值。在定義了新默認值後,將對任何後續SQL操作中指示使用此默認值的列使用新值。新值必須遵守賦值規則,且受到與CREATE TABLE語句下記錄的限制相同的限制。

下面我們舉幾個使用ALTER TABLE語句來修改表的例子:

例1  將Managing_Bank列添加到ACCOUNT表中:

ALTER TABLE V9R0M0.ACCOUNT ADD COLUMN Managing_Bank VARCHAR(15)

注意:

這個特性在DB2 Universal Database Version 8中就已經可用了。

例2  刪除TRANSACTION表中的Instruction_ID列:

ALTER TABLE V9R0M0.TRANSACTION DROP COLUMN Instruction_ID

例3 將ACCOUNT和TRANSACTION表中的Account_ID列的數據類型從SMALLINT改為INTEGER:

ALTER TABLE dev.ACCOUNT ALTER COLUMN Account_ID SET DATA TYPE INTEGER

ALTER TABLE dev.TRANSACTION ALTER COLUMN Account_ID SET DATA TYPE INTEGER

例4  刪除ACCOUNT表中的Credit_Line列的NOT NULL屬性:

ALTER TABLE dev.ACCOUNT ALTER COLUMN Credit_Line DROP NOT NULL

例5  增加TRANSACTION表中的Description列的大小:

ALTER TABLE dev.TRANSACTION ALTER COLUMN Description SET DATA TYPE VARCHAR(60)

注意:

這個特性在DB2 Universal Database Version 8中就已經可用了。

例6  修改t1表中的colnam1列的默認值:

ALTER TABLE t1 ALTER COLUMN colnam1  SET DEFAULT '123'

注意:

這個特性在DB2 V8中就已經可用了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved