2016-08-08 152 views
0

我想這個代碼刪除表的外鍵

Drop Table Inventory 

我得到錯誤:

Could not drop object 'Inventory' because it is referenced by a FOREIGN KEY constraint.

回答

1

首先,你必須Drop表的約束和那麼表

SELECT 
    'ALTER TABLE ' + OBJECT_SCHEMA_NAME(parent_object_id) + 
    '.[' + OBJECT_NAME(parent_object_id) + 
    '] DROP CONSTRAINT ' + name 
FROM sys.foreign_keys 
WHERE referenced_object_id = object_id('Inventory') 
Drop Table Inventory 
+0

我收到錯誤:無法刪除對象'庫存',因爲它是由外鍵約束引用。難道我做錯了什麼? – DiH

+0

它解決了嗎? – Sankar

1

使用本

DROP TABLE Inventory CASCADE CONSTRAINTS; 
+0

我得到錯誤icorect CASCADE附近有語法 – DiH

+0

'DROP TABLE [UR表這裏]級聯約束;' 它應該工作 –

+1

@NizarHawawreh:你給的語法是Oracle和問題被標記爲的SQLserver – TheGameiswar

1

您需要先刪除約束..

ALTER TABLE [dbo].[t2] DROP CONSTRAINT [foreign key constraint] 

然後,您可以刪除表

Drop table t1 
1

剛剛嘗試這一點

ALTER TABLE Inventory NOCHECK CONSTRAINT all 
DROP TABLE Inventory 
+0

我收到錯誤:無法刪除對象「庫存」,因爲它被FOREIGN KEY約束引用。 – DiH

+0

用哪個表引用? –

0

從子表中刪除外鍵約束然後放下主表