English 中文(简体)
T-SQL: DROP表级联约束的等效命令是什么?
原标题:T-SQL: DROP Table cascade constraints equivalent?
  • 时间:2010-02-11 19:51:09
  •  标签:
  • tsql
  • cascade

在Oracle中,我可以使用DROP TABLE ... cascade constraints命令,而不需要担心外键等问题。

在 T-SQL 中有对应的方法吗?

最佳回答

不,要在SSMS中右键单击表格,然后选择“脚本表格为”,然后选择“撤销到”,然后选择“新窗口”、“文件…”或“剪贴板”,它将生成包含所有必要的FKs等撤销的脚本。

问题回答

对于那些希望得到更普遍适用答案的人

这将查找约束并删除它,然后删除列。

感谢并向Tim Lentine投票,开始寻找默认约束的名称。 如何查找默认约束的名称

Declare @sql VarChar(255)
Declare @tableName Varchar(255)
Declare @columnName VarChar(255)
Select @tableName =  MyTableName 
Select @columnName =  MyColumnName 
select @sql = o.[name] from sysobjects o 
inner join syscolumns c
on o.id = c.cdefault
inner join sysobjects t
on c.id = t.id
where o.xtype =  d 
and t.name = @tableName
and c.name = @columnName

if @sql is not null
begin
  select @sql =  Alter Table   + @tableName +   Drop Constraint   + @sql +   Alter Table   + @tablename +   Drop Column   + @columnName
  exec(@sql)
end




相关问题
How to write this T-SQL WHERE condition?

I ve got two tables: TableA Col1 Col2 TableB Col3 Col4 I want to join them together: SELECT * from TableA join TableB ON (...) Now, in place of ... I need to write an expression ...

Customer and Order Sql Statement

TSQL query to select all records from Customer that has an Order and also select all records from customer that does not have an Order. The table Customer contains a primary key of CustomerID. The ...

Recommended way of querying multiple Versioned tables

Have a win 2003 box with MSSQL 2005 running on it. There is a database which is populated every morning with new/modified SalesOrder made the previous day. The database has several tables: SalesOrder, ...

update duplicate record

I have a table with the following fields Id Name IsPublic i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = ...

Define variable to use with IN operator (T-SQL)

I have a Transact-SQL query that uses the IN operator. Something like this: select * from myTable where myColumn in (1,2,3,4) Is there a way to define a variable to hold the entire list "(1,2,3,4)"? ...

Selecting records during recursive stored procedure

I ve got a content management system that contains a hierarchical structure of categories, with sub-categories subject to different ordering options at each level. Currently, that s retrieved by a (...

热门标签