民间,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