テーブル内の複数の列を削除したいのですが、どのように変数をWHILEループの列名の一部として使用できますか?ありがとう。WHILEループの列名の一部として変数を使用
DECLARE @colnum INT
Set @colnum = 13
WHILE @colnum <=37
BEGIN
ALTER TABLE PC$
DROP COLUMN F+ @colnum
SET @colnum = @colnum +1
END;
テーブル内の複数の列を削除したいのですが、どのように変数をWHILEループの列名の一部として使用できますか?ありがとう。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 @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;
ありがとう!それは非常にうまくいく –
動的SQLスニペットを構築し、それを実行できます。
declare @sql nvarchar(max)
set @sql = N'alter table pc$ drop column f' + cast(@colnum as nvarchar(16))
exec (@sql)
「DROP COLUMN F + @ colnum」には「F」とは何ですか? –