如何根据sys.objects删除表?

ETL*_*ser 2 sql-server system object sql-server-2008-r2

我试图从每个服务器/数据库中删除表.

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

SELECT * 
FROM sys.objects 
WHERE type = 'u' AND name LIKE '%JSK%'
Run Code Online (Sandbox Code Playgroud)

我想放弃那些桌子.

我需要查询怎么做?

Aar*_*and 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;
Run Code Online (Sandbox Code Playgroud)