我有一个场景,我希望表中的字段按顺序递增。 假设我有一个表Test,包含TestID,TestResult1,2等。和TestCount列。 我已将数据批量插入表中。一些记录可能是重新测试,这意味着要插入的新数据与表中的现有记录相匹配,应更新测试计数。在TestID上完成匹配
如果表格如下:
TestID TestResult1 TestResult2..
12 3 5
12 2 2
要插入的数据
TestID TestResult1 TestResult2.. TestCount
12 1 1 1
12 2 2 2
13 4 1 1
12 3 5 3
12 2 2 4
该表应更新为
TestID TestResult1 TestResult2.. TestCount
12 1 1 1
12 2 2 2
13 4 1 1
12 3 5 3
12 2 2 3
CREATE TRIGGER trgTestCount
on Test
AFTER INSERT
AS
Update g
Set TestCount= (Select Count(*)+1 from Test g join INSERTED g1 where g.TestID=g1.TestID )
from Test g
我尝试在表上添加一个触发器来更新TestCount计算匹配的记录数。但它正在更新表格如下
#import <linkedin-sdk/LISDK.h>
这是一个SSIS包,我使用数据流任务将数据从STg表加载到测试表。 你能告诉我这里我做错了吗?
答案 0 :(得分:0)
如果您可以更改表格结构,我建议您添加Identity
列,将TestCount
列更改为computed column,并将其值作为不同测试ID的计数与当前行测试ID相同,创建日期低于Identity
列的当前值。
这将消除对触发器的需要,并将自动处理插入具有相同测试ID的多个记录。