2012-12-15 46 views
0

是否有可能設計執行SQL任務,以便從SQL數據庫讀取時執行任務A以及何時執行任務A以及何時從變量讀取任務B ?這意味着執行SQL任務可以同時處理SQL語句和變量。是否有可能執行SQL語句同時適用於SQL語句和變量

+0

我不是100%肯定能理解你的問題,但你可以啓動表函數,標量函數和存儲過程來完成你的任務。所以任務A是一個存儲過程,任務B也是,那麼你可以隨時啓動它們。 – YvesR

+0

不幸的是我不明白你的回覆。我如何設置執行SQL任務的選項,如ResultSet或SQLStatement?我如何編寫適當的查詢,以便在更改它時,執行SQL任務知道它必須使用我們在ssis中設置的SQlStatement或Variables? –

+0

要執行語句,您可以使用http://msdn.microsoft.com/en-us/library/ms188332.aspx,但您可能需要了解如何使用存儲過程,然後使用imho。看看這裏http://www.mssqltips.com/sqlservertutorial/160/sql-server-stored-procedure/ – YvesR

回答

0

因此,您希望在運行時設置Execute SQL任務的SqlStatementSource屬性,具體取決於您是否從SQL數據庫檢索值。如果未檢索到任何值,則需要將其設置爲預先存在的變量的值。

  1. 創建一個執行SQL任務來檢索您的SQL數據庫值 並將其分配給變量DatabaseSQL。我假設你的查詢將返回NULL,如果沒有值被發現。
  2. 將您的默認值分配給變量DefaultSQL。
  3. 在你執行SQL任務,創建一個用於 SqlStatementSource屬性的表達式和表達式設置爲

    REPLACENULL(@user :: DatabaseSQL,@user :: DefaultSQL)