【发布时间】:2020-04-27 14:51:21
【问题描述】:
我正在执行一个 SSIS ETL 流程,该流程将数据加载到表中,并使用执行 SQL 语句作为执行的最后一个组件,以根据 Content 列的值更新 TAG 值。一个例子是
update [payments].[MTFileValidationData_UAT]
set TAG = 'Header'
where left(content,3) = '{1:' and [TransactionId] = ?
这实际上是针对一系列不同的标签完成的。完成此操作后,有一个名为 FileSequenceNumber 的列需要为每个标签更新一个数字,以便我最终可以将 UAT 和生产文件相互比较以进行测试。
我还需要更新FileSequenceNumber 列,为每个文件名的每个标签提供一个序列号。
预期结果:
RowID | TransactionId | FileName | FileType | Tag | Content | Location | FileSequenceNumber |
------+---------------+----------+----------+-----+---------+----------+--------------------+
1 9052312 ABCFile NULL Header XXX October 1
2 9052312 ABCFile NULL Header ZZZ October 2
3 9052312 ABCFile NULL Header YYY October 3
3 9052312 ABCFile NULL 32B YYY October 1
3 9052312 ABCFile NULL 32B YYY October 2
3 9052312 ABCFile NULL 32B YYY October 3
【问题讨论】:
-
只需要更新当前更新的行吗?还是需要更新其他行?
-
@GordonLinoff 所有行都需要更新。标记数据是从更新语句中作为一个整体填充的。与 FileSequenceNumber 相同。所有行都需要由更新语句填充。
-
这里有两个问题,是吗? 1) 如何为各种内容值填充 TAG。 2)如何回填FileSequenceNumber。也许您的问题可以通过显示表 A) 发布数据流(初始状态)的状态来改进。 B)发布标签回填 C)发布文件序列号填充
-
不,这只是一个问题。我正在成功填充标签数据。我需要的是每个文件名每个标签的序列号。
-
@billinkc 这只是一个问题。标签数据已成功填充。我只是想展示一个如何填充它的示例,以便我可以尝试以相同的方式填充标签数据。我只需要每个文件名的每个标签的序列号。就是这样。
标签: sql sql-server ssis