设计必知的设计网站 039/网络营销渠道有哪几种
最近在处理SQL Server的相关业务,需要使用SQL语句清理数据库,遇到了个神奇的现象,有些数据库居然清空不成功,错误提示如下:无法对 表 'xxxxx' 执行 删除,因为它不存在,或者您没有所需的权限。
最后研究一番发现数据库中使用了架构这玩意,导致直接根据表名的话不能删除,所以如果要删除的话要把表对于的架构获取出来,然后调用删除语句:drop table [架构名].表名.
最后根据目前能力总结了清空数据库的SQL语法如下:
declare @sql varchar(8000)while (select count(*) from sysobjects where type = 'U') > 0
beginselect @sql='drop table [' + A.ownname + '].' + [A.name]from(select schema_id, name,ownname=schema_name(schema_id) from sys.tables)A FULL JOIN(select name from sysobjects WHERE (type = 'U'))Bon A.name=B.nameORDER BY 'drop table [' + A.ownname + '].' + [A.name]exec(@sql)
end
后期如果还有改进的方法到时候再改。