在oracle中,要删除所有的表和约束,你可以输入类似的东西
DROP TABLE myTable CASCADE CONSTRAINTS PURGE;
解决方法
我不相信sql有一个类似优雅的解决方案.您必须首先删除任何相关的约束,然后才能删除表.
幸运的是,这些都存储在信息模式中,您可以访问它来获取您的打包列表.
这个博文应该能够让你得到你所需要的:
@L_403_0@
-- t-sql scriptlet to drop all constraints on a table DECLARE @database nvarchar(50) DECLARE @table nvarchar(50) set @database = 'DatabaseName' set @table = 'TableName' 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