渡されたテーブル名を参照するために、プロシージャ内で SQL ステートメントを動的に構築する必要があるストアド プロシージャを作成しています。
この SQL ステートメントで結果を返す必要があり、それを残りの手順全体で使用できます。
一時テーブルとすべてを使用してみましたが、変数を宣言する必要があるなどのメッセージが表示され続けます。
例えば:
DECLARE @FiscalYear INT
DECLARE @DataSource NVARCHAR(25)
DECLARE @SQL NVARCHAR(250)
SELECT @DataSource = 'CustomerCosts20120328'
DECLARE @tempFiscalYear TABLE ( FiscalYear INT )
SELECT @SQL = 'INSERT INTO @tempFiscalYear SELECT DISTINCT FiscalYear FROM ' + @DataSource
EXEC(@SQL)
SELECT @FiscalYear = FiscalYear FROM @tempFiscalYear
または...
DECLARE @FiscalYear INT
DECLARE @DataSource NVARCHAR(25)
DECLARE @SQL NVARCHAR(250)
SELECT @DataSource = 'CustomerCosts20120328'
SELECT @SQL = 'SELECT DISTINCT @FiscalYear = FiscalYear FROM ' + @DataSource
EXEC(@SQL)
実際のテーブルを使用せずにこれを行う方法はありますか?
ありがとう。