【发布时间】:2015-02-05 11:11:16
【问题描述】:
我写了这段代码:
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
你能帮我把那些空桌子放下吗?
【问题讨论】:
-
问题出在哪里?删除这些表格的哪个部分对您来说很难?到目前为止,您尝试了哪些代码?
-
感谢 SubqueryCrunch!我只是不知道如何在存储过程中迭代删除。
-
一种简单、容易且低效的方法是使用光标。另一种选择是使用动态 sql 生成放置代码。
-
警告任何考虑使用上述查询的人 - 它可以包括一个名为 dtproperties 的系统表,该表包含图表并且不被查询排除。您可以通过在 where 子句中包含 t.NAME NOT LIKE 'dt%' 来排除它,只要您没有任何以 DT 开头的表!
标签: sql-server-2008 tsql stored-procedures