我正在使用 Microsoft SQL Server 2008。我的问题是:如何在一个查询中删除多个具有共同前缀的表?
类似于表名的东西:
LG_001_01_STLINE,
LG_001_02_STFICHE
我正在使用 Microsoft SQL Server 2008。我的问题是:如何在一个查询中删除多个具有共同前缀的表?
类似于表名的东西:
LG_001_01_STLINE,
LG_001_02_STFICHE
您可以使用目录视图构建字符串,例如:
当然也有潜在的陷阱,例如,如果这些表有外键关系,您要么需要先删除它们,要么安排输出以按特定顺序删除表。
要获取表列表,请使用:
我运行了这个查询,然后将结果粘贴回查询窗口以删除所有表:
如果要删除所有表但保留名称以 A、B、C 或 D 开头的表:
这允许您删除更多数量的表。
我喜欢我写的这个:
这可以使用
execute
如下方式完成:运行上述查询并将结果保存到 csv 中。然后在记事本中打开该 CSV。然后按 Ctrl+H 用 DROP TABLE SCHEMA 替换模式,这将为您提供所有删除查询,将这个大 sql 复制并粘贴到您的 sql 工具中并执行
如果你的结果是
替换后是这个样子