gpt4 book ai didi

sql-server - 使用字符串删除多个表

转载 作者:行者123 更新时间:2023-12-02 09:00:02 24 4
gpt4 key购买 nike

我有像 lg-010-a...、lg-010-ac... 等表,我有 abc 数据库,

我有一个命令窗口:

drop table from abc where Table_Name like 'lg-010-%'

这会删除所有以 lg-010- 开头的表吗?

最佳答案

尝试这样的事情:

declare @sql varchar(max)
declare @tablenames varchar(max)

select @tablenames = coalesce(@tablenames + ', ','') + Table_Name from INFORMATION_SCHEMA.TABLES
where Table_Name like ('lg-010-%')

set @sql = 'drop table ' + @tablenames

exec (@sql)

这会查询 INFORMATION_SCHEMA.TABLES 表以检索与您的条件匹配的表名称,然后将它们连接在一起形成逗号分隔的字符串。

该字符串随后被添加到“Drop table”语句中并执行。

删除表可以采用多个逗号分隔的表名称。

(我最初有这个查询 sys.tables,但一些研究表明,虽然它们目前是等效的,但 Information_Schema 方法可以在未来版本中使用)

关于sql-server - 使用字符串删除多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2004781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com