簡體   English   中英

在WHILE循環中使用變量作為列名稱的一部分

[英]Use variable as part of the column name in WHILE Loop

我想刪除表中的多個列,如何在WHILE循環中使用變量作為列名的一部分? 謝謝。

DECLARE  @colnum INT
Set @colnum = 13
WHILE @colnum <=37
BEGIN

ALTER TABLE PC$
DROP COLUMN F+ @colnum

SET @colnum = @colnum +1
END;

您可以構造一個動態的sql代碼段並執行它:

declare @sql nvarchar(max)
set @sql = N'alter table pc$ drop column f' + cast(@colnum as nvarchar(16))
exec (@sql)

使用動態SQL。

DECLARE  @colnum INT
Declare @strsql varchar(max)
Set @colnum = 13
WHILE @colnum <=37
BEGIN

set @strsql ='ALTER TABLE PC$
DROP COLUMN F' + cast(@colnum as varchar(20))

exec(@strsql )

SET @colnum = @colnum +1
END;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM