Mon*_*éhi 3 t-sql stored-procedures sql-server-2008
我写了这段代码:
SELECT o.name FROM sysobjects o,sysindexes i WHERE ( o.type = 'U'
and o.id = i.id
and i.indid in (0,1)
and i.rows = 0 )
order by o.name
GO
Run Code Online (Sandbox Code Playgroud)
你能帮我把那些空桌子放下吗?
谨慎使用!
这将为您查询中的所有表生成一个删除脚本。当您打印变量时@sql,由于PRINT语句中的限制,您将只能看到其原始代码的前 4000 个字符。但是当你使用时EXEC(@sql),整个代码都会被执行。
DECLARE @sql NVARCHAR(MAX)
SET @sql = ''
SELECT @sql = @sql + 'IF OBJECT_ID(''' + o.name + ''') IS NOT NULL DROP TABLE ' + o.name + CHAR(10)
FROM sysobjects o,sysindexes i
WHERE
(
o.type = 'U'
and o.id = i.id
and i.indid in (0,1)
and i.rows = 0
)order by o.name
PRINT @sql
Run Code Online (Sandbox Code Playgroud)