如何解决等效于SQL Server中的删除表table_name级联约束
|| 我的问题是在Oracle中,我们可以使用“ 0”删除引用的表对象。如何在SQL Server中实现相同的目的?解决方法
据我所知,MsSql中没有一个命令,但是您可以使用INFORMATION_SCHEMA和动态SQL。
像这样:
DECLARE @database nvarchar(50)
DECLARE @table nvarchar(50)
set @database = \'MyDatabase\'
set @table = \'MyTable\'
DECLARE @sql nvarchar(255)
WHILE EXISTS(select * from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where constraint_catalog = @database and table_name = @table)
BEGIN
select @sql = \'ALTER TABLE \' + @table + \' DROP CONSTRAINT \' + CONSTRAINT_NAME
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
where constraint_catalog = @database and
table_name = @table
exec sp_executesql @sql
END
, 有一个选项可以让Management Studio生成一个脚本,该脚本可以更改/删除对依赖对象的所有约束。
我在这里找到了与SQL Server删除表级联等效的描述
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。