欄位設有預設值時,無法以TSQL修改預設型態之解決方案

欄位設有預設值時,無法以TSQL修改預設型態之解決方案

當我們在SQL Server中建立Table時,若於欄位中設定預設值會自動建立CONSTRAINT,導致以TSQL修改欄位型態時會出現下圖的錯誤訊息。

image

以下列步驟即可解決此問題:

  1. 移除預設值CONSTRAINT
  2. 修改欄位資料型態
  3. 新增預設值CONSTRAINT

程式碼片段如下:

		   1: alter table Table1
		   2:     drop constraint DF_Table1_Col1
		   3: go
		   4: alter table Table1
		   5:     alter column Col1 decimal(5,2) not null 
		   6: go
		   7: alter table Table1
		   8:     add constraint DF_Table1_Col1 default 0 for Col1
		   9: go