欄位設有預設值時,無法以TSQL修改預設型態之解決方案
當我們在SQL Server中建立Table時,若於欄位中設定預設值會自動建立CONSTRAINT,導致以TSQL修改欄位型態時會出現下圖的錯誤訊息。
以下列步驟即可解決此問題:
- 移除預設值CONSTRAINT
- 修改欄位資料型態
- 新增預設值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