CREATE TABLE [dbo].[tmp_rg_xx_LBJ]
(
[ROWVERSION] [bigint] NULL,
[ROWDATE] [datetime] NULL,
[SAPNO] [int] NOT NULL DEFAULT 1)
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF__tmp_rg_xx__SAPNO__1B0907CE]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[LBJ] DROP CONSTRAINT [DF__tmp_rg_xx__SAPNO__1B0907CE]
END
GO
我有一個腳本,創建一個默認的表,但我想刪除約束。手動沒問題,因爲我知道名稱,除了我想在重新創建表之後刪除約束。所以我可以重新運行放置約束腳本。你如何在沒有明確使用名字的情況下做到這一點?明確約束下降不使用名稱
你可以查找約束在'SYS。物體「,就像你所做的一樣,但是如果你在之後通過名稱引用它的特定約束將是最好的方法。這就像詢問如何查詢表而不實際使用表名。 –
它會始終啓動DF__tmp_rg_xx__SAPNO我可以使用嗎? – icecurtain
當你創建它們時,你應該養成明確命名你的約束的習慣 - 這會讓它們變得更加容易! –