列数に基づいて一時テーブルを作成するには?
たとえば、count が 20 の場合、20 列の一時テーブルを作成します (すべて nvarchar 型です)。
カウントが 10 の場合、10 列のみの一時テーブルを作成します。
列数に基づいて一時テーブルを作成するには?
たとえば、count が 20 の場合、20 列の一時テーブルを作成します (すべて nvarchar 型です)。
カウントが 10 の場合、10 列のみの一時テーブルを作成します。
書かれているとおりに本当に本当にやりたい場合は、以下のような動的 SQL を使用できます。
DECLARE @ColCount int = 20
DECLARE @Ct int = 1
DECLARE @SQL nvarchar(max) = ''
SET @SQL = 'CREATE TABLE #VarTemp('
WHILE @Ct < @ColCount+1
BEGIN
SET @SQL += 'Col' + CAST(@Ct as nvarchar(8)) + ' nvarchar(256),'
SET @Ct = @Ct + 1
END
SET @SQL = LEFT(@SQL, (LEN(@SQL) - 1))
SET @SQL += ')'
SELECT @SQL
出力された SQL 文字列を別のウィンドウに入れるか、信頼できる場合は を に変更できSELECT
ますEXEC
。