以下のようなことができますか、教えてください IF @parameter=1 BEGIN ...query... END IF @parameter=2 可能であれば正しい構文が必要です。OLE DB接続です。Stored Proc ではありません。単なるSQLクエリ
質問する
4609 次
3 に答える
0
あなたはできる。SQL 実行タスクを参照していると仮定すると、OLE DB 接続を使用する SQL 実行タスクのパラメーターは、パラメーターのプレースホルダーとして疑問符 (?) を使用します。SQL 実行タスクの [パラメーター マッピング] ページで、プレースホルダーを SSIS 変数にマップします。SQLStatement プロパティに次のように入力します。
If (?=1) begin ... {いくつかの T-SQL ここに} ... end If (?=2) begin ... {いくつかの T-SQL ここに} ... end
それは、あなたが求めていると私が思うことを達成する1つの方法です。
もう 1 つの方法は、SQL 実行タスクを作成して、@parameter の値をデータベースから SSIS 変数に読み込むことです。次に、2 つの SQL 実行タスク (1 つは T-SQL の各オプションを SQLStatement プロパティとして持つ) を作成し、優先順位の制約で式を使用して、実行する SQL 実行タスクを決定します。
これが役に立てば幸いです:{>
于 2013-07-02T16:37:07.053 に答える