gpt4 book ai didi

sql - 如何删除 SQL Server 中的多个列

转载 作者:行者123 更新时间:2023-12-04 13:02:36 25 4
gpt4 key购买 nike

我有多个列

数据库名称:dbo.Test

列的名称(示例):

ABC_1 | DEF_2 | GHI_3 | JKL_4 | MNO_5 | PQR_6 | STU_7

如何编写可以删除列的查询 GHI_3直到 STU_7使用循环?

最佳答案

您不需要编写循环来执行此操作,一种方法是使用 sys.columns table 以获取要删除的所有列。

假设您要删除除“Col11 之外的所有列” ' 和 ' Col2 ' 在这种情况下,您可以编写如下查询。

declare @dropstmt as nvarchar(max) ='alter table Test  drop column ' 
+ stuff((select ', ' + quotename(name)
from
(
select c.name
from sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
where t.name = 'test'
and c.name not in('col1','col2')
)t
for xml path(''), type).value('.', 'NVARCHAR(MAX)'), 1, 1, '');
print @dropstmt
exec sp_executesql @dropstmt

关于sql - 如何删除 SQL Server 中的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54917935/

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