如何根据sys.objects删除表?

时间:2013-03-06 19:02:12

标签: sql-server object sql-server-2008-r2 system

我正在尝试从每个服务器/数据库中删除表。

我运行查询以从不同的服务器获取每个数据库中的表列表。

SELECT * 
FROM sys.objects 
WHERE type = 'u' AND name LIKE '%JSK%'

我想删除这些表格。

我需要查询怎么做?

1 个答案:

答案 0 :(得分:5)

假设没有外键关系使下降顺序变得重要:

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += N'
DROP TABLE '
  + QUOTENAME(SCHEMA_NAME([schema_id]))
  + '.' + QUOTENAME(name) + ';'
FROM sys.tables
WHERE name LIKE '%JSK%';

PRINT @sql;
-- EXEC sp_executesql @sql;