我已經深入瞭解了這些以前的問題Q1,Q2,Q3。使用這個我可以捕捉我的確切約束名稱。但這對我來說還不夠。如何從多個數據庫的SQL Server數據庫中的表中刪除或更改默認約束?
例如,我已經做了財產以後
ALTER TABLE dbo.Documents ADD ShowOnHandset BIT NOT NULL DEFAULT 'FALSE'
這裏我自動由機器命名constrant爲DF__Documents__ShowO__7AB2122C
我的機器上。但是我在多臺PC上運行相同的腳本,在那些PC上,除了最後的散列值外,這些約束幾乎相同。 DF__Documents__ShowO__54A20B0D
DF__Documents__ShowO__5D5216D7
我看到過去的8位散列值並不相似。但我需要從所有表中刪除此約束,我想用
ALTER TABLE dbo.Documents ADD ShowOnHandset BIT NOT NULL DEFAULT ((1))
,以取代他們,但我不能確定確切的約束名,所以我怎麼可以用一個腳本拖放?
我發現了那些提到的問題的硬編碼解決方案。但是我需要一個腳本來完成它。請幫我解決這個問題。
我可以使用此代碼
select name from sys.objects where name like 'DF__Documents__ShowO%'
我知道如何刪除的方式趕上約束名。這裏是。
ALTER TABLE dbo.AppSystems DROP constraint [constraint_name]
但我無法做到這一點。因爲我不能把價值constraint_name
,即使我可以抓住它。那麼我怎麼能把這個名字放在這裏呢?
更新修改了問題。
的mysql =(MS)SQL服務器 – Jens