T-SQL批量删除列

oklion 2016-08-28 10:55:31
导入的时候没注意列号除了有效列之外又导入了F9至F255,一共200多列,想用语句批量删除,具体如何实现,谢谢
...全文
176 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-08-29
  • 打赏
  • 举报
回复
DECLARE @Sql NVARCHAR(MAX)
SET @Sql=(SELECT TOP (255-8) 'ALTER TABLE 表名 DROP COLUMN F'+RTRIM(9+number)+';' FROM master.dbo.spt_values WHERE type='P' AND number>=0 FOR XML PATH(''))
--显示语句
--PRINT @Sql;
EXEC(@Sql)
卖水果的net 2016-08-29
  • 打赏
  • 举报
回复

USE test
declare @sum int = 10
declare @sql varchar(500)
while @sum<256 
begin
    set @sql = 'alter table vlaninfo drop COLUMN F' + CAST(@sum as nvarchar)
    exec (@sql)
    set @sum = @sum + 1 
end 
go

oklion 2016-08-28
  • 打赏
  • 举报
回复
USE xtgd declare @no1 int,@sum int,@col nvarchar select @sum=10,@no1=0,@col='F' test_target: set @no1=@no1+1 set @sum=@sum+@no1 set @col='F' + CAST(@sum as nvarchar) while @sum<256 goto test_target alter table vlaninfo drop COLUMN @col 为什么语句最后的@col一直报错呢? 另外可以的话各位高手给个if语句的么?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧