2

以下のようなことができますか、教えてください IF @parameter=1 BEGIN ...query... END IF @parameter=2 可能であれば正しい構文が必要です。OLE DB接続です。Stored Proc ではありません。単なるSQLクエリ

4

3 に答える 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 に答える