2

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

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

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

我想删除那些表。

我需要查询怎么做?

4

1 回答 1

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;
于 2013-03-06T19:12:24.597 回答