動的宣言を行うことは可能ですか?説明します:私はテーブルを持っていますCOLUMNAMES
:
ID|Name
1|Country
2|City
3|District
4|Neighbourhood
そのテーブルの各レコードについて、次のようなことをしたいと思います。
declare @i int = 1
declare @number int
set @number = (SELECT count(*) FROM COLUMNNAMES)
While @i <= @number
BEGIN
Execute ('Declare column' + @i +'varchar(25)')
Execute ('set column' + @i +' = (Select NAME from COLUMNAMES where id = ' + @i)
set @i = @i + 1
END
アイデアは、動的テーブルエイリアスを使用してSELECTステートメントを作成するために使用できる変数(文字列)のリストを取得することです。
Execute ('Select SOMECOLUMN as ' + @columname + @i +', ANOTHERCOLUMN as ' + @columname + @i +', ATHIRDCOLUMN as ' + @columname + @i + ' FROM SOMETABLE')
これはできますか?もしそうなら、どのように?