本文介绍了如何基于 sys.objects 删除表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从每个服务器/数据库中删除表.
I am trying to drop tables from each server/DB.
我运行查询以从不同服务器获取每个数据库中的表列表.
I ran the query to get the list of the tables in each database from different server.
SELECT *
FROM sys.objects
WHERE type = 'u' AND name LIKE '%JSK%'
我想删除那些表.
我需要查询怎么办?
推荐答案
假设没有外键关系使得删除顺序很重要:
Assuming no foreign key relationships make order of dropping important:
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;
这篇关于如何基于 sys.objects 删除表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!