如何更改列的「默認綁定」?更改列上的默認綁定
這工作:
ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest]
ADD CONSTRAINT test_constraint DEFAULT '10' FOR test
,但由於我設置了「默認綁定」早些時候,我希望繼續以這種方式。那麼如何設置「默認綁定」呢?
感謝,
巴里
如何更改列的「默認綁定」?更改列上的默認綁定
這工作:
ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest]
ADD CONSTRAINT test_constraint DEFAULT '10' FOR test
,但由於我設置了「默認綁定」早些時候,我希望繼續以這種方式。那麼如何設置「默認綁定」呢?
感謝,
巴里
你不能改變默認約束 - 你需要刪除舊之一:
ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest]
DROP CONSTRAINT old_constraint
,然後添加新的一個:
ALTER TABLE [BI011mylovetoys].[mylovetoys150806].[tblTest]
ADD CONSTRAINT test_constraint DEFAULT '10' FOR test
默認綁定與默認約束不同,正如接受的答案所示。要更改默認的列的結合,使用sp_unbinddefault
和sp_binddefault
:
CREATE DEFAULT dbo.SYSTEM_DATE AS getdate()
EXECUTE sp_unbindefault N'dbo.tb_company_industry.stamp_modify_date'
GO
EXECUTE sp_bindefault N'dbo.SYSTEM_DATE', N'dbo.tb_company_industry.stamp_modify_date'
GO
雖然值得注意的是,爲sp_binddefault的文件表明,默認的綁定機制已經過時:
此功能將被刪除在未來版本的Microsoft SQL Server中。避免在新開發工作中使用此功能,並計劃修改當前使用此功能的應用程序。我們建議您通過使用ALTER TABLE或CREATE TABLE語句的DEFAULT關鍵字來創建默認定義。有關更多信息,請參閱創建和修改默認定義。
但是,當我使用這種方法時,'10'沒有出現在sql manager的「default binding'字段中。爲什麼? – Baz 2012-02-24 11:35:37
@Baz:你正在查看**正確的數據庫**嗎? ? – 2012-02-24 13:16:33