业务比较复杂的update语句,求解决方案???
T_a:
IdT_b_id税率(下拉列表)
T_b:
Id进货单价税后单价差价
现在是一个页面上画出两张表格,分别读取T_a、T_b的数据。
业务要求:当税率(下拉列表)改变时,需要改变“税后单价”同时需要改变“差价”,现在我只完成了修改“税后单价”的功能,做法是通过T_b_id找到T_b对应记录,修改。
由于差价的修改比较复杂(T_b表中省略了很多字段),所以来请教一下。需要通过T_b中的字段“a”和字段“b”的值来比较,然后再做相应操作。请问这种情况下一般怎么做???
说明:第一个要修改的值一条sql语句就可以了,第二个需要做判断,并且需要根据第一条执行后的值来计算。
[解决办法]
建立一个存储过程, 输入变量为 @ID, @税率
然后先
update 表格
set 税率 = @税率
where ID = @ID
然后再update 表格
set 差价 = 你的计算过程
where ID = @ID
AND 你的判断条件 --判断在where中进行,比如字段“a”和字段“b”的值来比较
[解决办法]
需要通过T_b中的字段“a”和字段“b”的值来比较,然后再做相应操作。请问这种情况下一般怎么做???
这个不清除你具体的表结构
不过一般这种判断,条件不多用if ... begin ...end
或者用case when ... then ... else ... end
[解决办法]
这个你用触发器不就可以咯
[解决办法]