【发布时间】:2012-03-13 12:03:24
【问题描述】:
Table1 contains id(Auto PK), Key(Varchar) & Value(Int)
Table2 contains Key(Varchar), postive_sum(Int), negative_sum(Int)
每当在 Table1 中插入新行时,我们都需要编写触发器
它应该将新插入的值(newRow.Table1.Value)与相同Key的先前值(oldRow.Table1.Value)进行比较
如果大于,Table2的positive_sum字段有 通过添加新插入的值来更新(newRow.Table1.Value) 现有价值
如果更小,Table2的negative_sum字段有 通过添加新插入的值来更新(newRow.Table1.Value) 现有价值
如果table2上的key不存在,则必须创建对应的记录
我们已经尝试了所需的逻辑,但我们在 MS SQL Server 2008 中创建相同的逻辑方面缺乏更多。
任何意见将不胜感激。
【问题讨论】:
-
那么,
Table2上是否已经存在“密钥”?还是必须先检查该表上的存在性才能执行INSERT,然后再执行UPDATE? -
你不明白哪一部分,或者你只是希望有人为你写一个完整的触发器?
标签: sql-server database triggers