如何从给定数据库中删除所有带有前缀“bkp”的表?
Posted
技术标签:
【中文标题】如何从给定数据库中删除所有带有前缀“bkp”的表?【英文标题】:How to delete all tables with prefix "bkp" from a given database? 【发布时间】:2010-12-12 21:11:39 【问题描述】:我有一个 SQL server 2005。在那个服务器上我有 3 个数据库 -> a、b、c。
如果我想删除表
-
仅来自数据库“c”的表。
表名应以“bkp”开头
表应在前一天创建。
【问题讨论】:
【参考方案1】:试试这个:
USE C
GO
SELECT
'DROP TABLE ' + name
FROM sys.tables
WHERE create_date >= '20101211' -- substitute your date you're interested in
AND name like 'bkp%'
这将创建一个DROP TABLE:....
语句列表作为输出 - 将它们复制并粘贴到新的 SSMS 窗口中并执行它们 - 你就完成了!
【讨论】:
我的疑问是……Sys.Tables 对所有数据库都很常见。那么......它会从数据库中删除吗? @Anish: 不,不是 -sys.tables
特定于您所在的数据库 - 当您执行 USE C
时,您只会获得数据库中的表C.以上是关于如何从给定数据库中删除所有带有前缀“bkp”的表?的主要内容,如果未能解决你的问题,请参考以下文章
从给定数据库中选择所有表时,如何将 [dbo] 前缀附加到表名?