等效于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删除表级联等效的描述     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...