以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求教,sql语句与触发器相关问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=24367) |
-- 作者:baoxyang -- 发布时间:2012/10/11 22:40:00 -- 求教,sql语句与触发器相关问题 Dim sql1 As String = "UPDATE {库存表} set 单据号 = Case WHEN ID = "& sql &" Then \'"& s6 &"\' Else 单据号 End ,虚存量 = Case WHEN 虚存量 <= "& s5 &" And ID = "& sql &" Then 0 WHEN 虚存量 > "& s5 &" And ID = "& sql &" Then 虚存量 - "& s5 &" Else 虚存量 End "
在表中建立一个UPdate关联表触发器时,有一列数据发生数据变化了.但inserted与deleted两个临时表中的数据怎会一致呢? |
-- 作者:飞 -- 发布时间:2012/10/11 22:46:00 -- 把触发器代码贴出来 |
-- 作者:baoxyang -- 发布时间:2012/10/11 23:05:00 -- USE [buchang] 最后结果实拣量为0,其实虚存量有数据变化. [此贴子已经被作者于2012-10-11 23:06:21编辑过]
|
-- 作者:baoxyang -- 发布时间:2012/10/11 23:08:00 -- 如果把set 实拣量 = 实拣量 + c.虚存量 - b.虚存量,库存ID = b.ID,储位 = b.储位
这两种情况数据一样的. |
-- 作者:飞 -- 发布时间:2012/10/12 9:02:00 -- 你在一楼sql语句中修改的是单据号的字段 但是在触发器里面的条件是针对更新虚存量的 |
-- 作者:baoxyang -- 发布时间:2012/10/12 10:03:00 -- 以下是引用飞在2012-10-12 9:02:00的发言:
你在一楼sql语句中修改的是单据号的字段 但是在触发器里面的条件是针对更新虚存量的 单据号及虚存量都有修改.第二个when case 是修改虚存量的. |
-- 作者:飞 -- 发布时间:2012/10/12 14:00:00 -- 把第三行的 > 0去掉看看 |