私がしようとしていることは、異なるテーブルにレコードを挿入するパラメータ値に基づいています。
パラメータ値 @PeriodType (nvarchar(15)) は ‘Monthly’ または ‘Daily’ (および将来的には他の期間) であるとします。
以下を実行できるようにしたい:
IF @PeriodType = ‘Monthly’
BEGIN
INSERT INTO Monthly_Summary_Data (Column_1, Column_2, etc.).)
END
IF @PeriodType = ‘Daily’
BEGIN
INSERT INTO Daily_Summary_Data (Column_1, Column_2, etc.)
END
SELECT (Value_1, Value_2, etc.).)
FROM SourceTable
***********
残念ながら、INSERT と SELECT が分離できない (つまり、一方は IF 内、他方は分離できない) ためにエラー (「キーワード ‘END’ 周辺の構文が間違っています」) が発生していると思いますが、これを行う方法を知っている人がいれば本当に助けていただきたいと思っています。 私は、維持するのが面倒なので、期間の種類ごとに SELECT 文のコードを重複させたくありません。
SELECT 文の結果を返すテーブル値関数を作成できると思いますが、できれば、この単一のストアド プロシージャ内にすべてのコードを持つことを希望します。