民間,SSIS執行SQL任務 - 來自變量的語句 - 來自表的變量值
我正在創建包含執行SQL任務的SSIS包。 「SQL Source Type」屬性設置爲Variable,它使用我的一個包變量。到現在爲止還挺好。現在,所有這些都被封裝在「For Each」循環中,該循環從數據庫表中讀取值。你看,我有一堆表格和一堆SQL語句(存儲在VARCHAR列中),我想執行它。所有這些似乎工作,直到我在我的表中有一個多行SQL語句。如果有回車,這裏是我觀察到的。比方說,我已經保存在我的桌子這個說法,我想運行它
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.MyTable') AND name = N'MyIndex')
DROP INDEX MyTable.MyIndex
如果我在SSIS包設置斷點的看看變量的值,而它與這個SQL文本填充,它如下所示(請注意\ r \ n):
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.MyTable') AND name = N'MyIndex')\r\nDROP INDEX MyTable.MyIndex
,如果我讓它執行和使用探查,聲明,其實際運行將一切都交給用\ r捕獲結果,換句話說,只有第一行:
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.MyTable') AND name = N'MyIndex')
這顯然不是我想要的。我需要運行的實際報表要複雜得多,並且希望將它們保持良好的格式,以便在必要時可以對其進行可視化檢查。這是我遇到的已知限制,是否有任何解決方法?
謝謝!
歡迎光臨。很高興結果不是你的問題。我也有興趣閱讀上一個關於如何在一行中格式化代碼並再次返回的問題。 – davmos