SSIS - 为一批记录输入相同的数字
SSIS - Input same number for a batch of records
每日负载 table 包含需要传输到历史 Table 的每日新鲜数据。
历史 table 有一个额外的列 'CSV_ID' 用于标识每天的记录批次。例如,今天 table 中的 10 条记录被转移到历史 Table 中。所有这 10 条记录的 CSV_ID 均为 1。第二天的批次的 CSV_ID.
为 2
我是否使用带有表达式 CSV_ID == " " 的派生列? 1: CSV_ID + 1
谢谢
假设问题是:"I have a table where CSV_ID
for new records is empty and I want to set it as Next Batch Number....?"
有几个选项可以做到这一点:
1. 使用您想到的方法,但最好先获取 MAX
值,然后将 MAX+1
应用于空值,而不是 CSV_ID + 1
。
2.加载数据as is
,然后像这样将MAX+1
应用到空数据:
UPDATE MyStagingTable
SET CSV_ID = (SELECT MAX(CSV_ID)+1 FROM MyStagingTable)
WHERE CSV_ID = '';
每日负载 table 包含需要传输到历史 Table 的每日新鲜数据。
历史 table 有一个额外的列 'CSV_ID' 用于标识每天的记录批次。例如,今天 table 中的 10 条记录被转移到历史 Table 中。所有这 10 条记录的 CSV_ID 均为 1。第二天的批次的 CSV_ID.
为 2我是否使用带有表达式 CSV_ID == " " 的派生列? 1: CSV_ID + 1
谢谢
假设问题是:"I have a table where CSV_ID
for new records is empty and I want to set it as Next Batch Number....?"
有几个选项可以做到这一点:
1. 使用您想到的方法,但最好先获取 MAX
值,然后将 MAX+1
应用于空值,而不是 CSV_ID + 1
。
2.加载数据as is
,然后像这样将MAX+1
应用到空数据:
UPDATE MyStagingTable
SET CSV_ID = (SELECT MAX(CSV_ID)+1 FROM MyStagingTable)
WHERE CSV_ID = '';