--/第1步**********删除所有表的外键约束*************************/
DECLARE c1 CURSOR FOR
SELECT ‘alter table [‘ Object_name(parent_obj)
‘] drop constraint [‘ name ‘]; ‘
FROM sysobjects
WHERE xtype = ‘F‘
OPEN c1
DECLARE @c1 VARCHAR(8000)
FETCH next FROM c1 INTO @c1
WHILE( @@FETCH_STATUS = 0 )
BEGIN
EXEC(@c1)
FETCH next FROM c1 INTO @c1
END
CLOSE c1
DEALLOCATE c1
--/第2步**********删除所有表*************************/
DECLARE @sql VARCHAR(8000)
WHILE (SELECT Count(*)
FROM sysobjects
WHERE type = ‘U‘) > 0
BEGIN
SELECT @sql = ‘drop table ‘ name
FROM sysobjects
WHERE ( type = ‘U‘ )
ORDER BY ‘drop table ‘ name
EXEC(@sql)
END
相关文章
- 如何用一条SQL语句删除两个关联表的记录?
- SQL Server 2017 SELECT…INTO 创建的新表指定到文件组
- SQL SERVER 为现有表中增加列
- 数据库SQL server规则的创建、查看、修改和规则的绑定与松绑、删除
- SQL语句中----删除表数据drop、truncate和delete的用法
- sql server 删除所有表和递归查询、数字类型转为字符串
- [SQL Server] 在数据库所有表中查找含有某关键字的字段
- SQL Server 数据表模糊查询(like 用法)以及查询函数
- SQL Server 查看列,添加列,修改列,删除列
- SQL server添加表并添加备注,使用sql创建