【问题标题】:Setting a variable with multiple rows in SSIS [duplicate]在SSIS中设置具有多行的变量[重复]
【发布时间】:2015-05-11 15:42:05
【问题描述】:

我需要在 SSIS 中做这样的事情:

我需要从一个 SQL 表中获取一些 id 值,我正在使用一个简单的 sql 查询:

从值不为空的标识符中选择 ID。

我得到了这个结果:

作为最终结果,我需要在 SSIS 中生成并设置一个具有最终值的变量:

@var = '198','120','ACP','120','PQU'

稍后我需要在 odbc 表达式中使用它。

这在 SSIS 中可行吗?

澄清一下:图片只是我从流程的第一部分可以得到的一个小例子。我的意思是,我需要的 ID 数量是未知的。

【问题讨论】:

  • 是的,使用 EXECUTE SQL 任务和使用 FOR XML 连接输出的 SQL 命令。
  • 伙计,有什么例子吗?我的意思是,我在这方面有点新手。是否有可以看到步骤的页面或站点?感谢您的回复。

标签: sql sql-server ssis


【解决方案1】:

使用简单查询

DECLARE @TEST TABLE(ID NVARCHAR(10))
INSERT INTO @TEST VALUES('186'), ('120'), ('ACP'), ('120'), ('PQU')

DECLARE @ID VARCHAR(8000) 
SELECT @ID = CONCAT(COALESCE(@ID + ',''', ''''), ID, '''')
FROM @TEST

SELECT @ID

结果

'186','120','ACP','120','PQU'

【讨论】:

  • 感谢您的回复。但是Id的数量是可变的。这取决于流程的第一部分。
猜你喜欢
  • 1970-01-01
  • 2011-11-17
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-02
相关资源
最近更新 更多