相关疑难解决方法(0)

如何在不知道其名称的情况下删除SQL默认约束?

在Microsoft SQL Server中,我知道查询是否存在列的默认约束并删除默认约束是:

IF EXISTS(SELECT * FROM sysconstraints
  WHERE id=OBJECT_ID('SomeTable')
  AND COL_NAME(id,colid)='ColName'
  AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1)    
ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName
Run Code Online (Sandbox Code Playgroud)

但由于以前版本的数据库中的拼写错误,约束的名称可能是DF_SomeTable_ColNameDF_SmoeTable_ColName.

如何在没有任何SQL错误的情况下删除默认约束?默认约束名称不会显示在INFORMATION_SCHEMA表中,这会使事情变得有点棘手.

因此,类似于"删除此表/列中的默认约束"或"删除DF_SmoeTable_ColName",但如果无法找到它,则不会出现任何错误.

sql t-sql sql-server

190
推荐指数
5
解决办法
16万
查看次数

SQL Server:drop table cascade等效?

在oracle中,要删除所有表和约束,您可以键入类似的内容

DROP TABLE myTable CASCADE CONSTRAINTS PURGE;
Run Code Online (Sandbox Code Playgroud)

这将完全删除表及其依赖项.什么是SQL服务器等价?

sql sql-server cascade database-table sql-drop

25
推荐指数
3
解决办法
7万
查看次数

标签 统计

sql ×2

sql-server ×2

cascade ×1

database-table ×1

sql-drop ×1

t-sql ×1