更新时要做共享冲突检测,如果是SQL SERVER数据库,可以利用时间戳字段类型timestamp来实现(新版本的数据库是rowversion),该字段在任意数据更新后都会变化
SELECT CONVERT(char, CONVERT(money, ufts), 2) AS ufts FROM FC_SO_SOMAIN
更新时检测时间戳是否改变
UPDATE FC_SO_SOMAIN SET iUpdateStatus = 0 WHERE id = '<<lcID>>' AND CONVERT(char, CONVERT(money, ufts), 2) = '<<ufts>>'
IF @@ROWCOUNT = 0
RAISERROR ('数据更新冲突,可能其他用户操作了订单,请刷新订单数据后重试', 16, 1)
ELSE
BEGIN
后续的SQL
END
用CA时也可以加上时间戳来作为更新关键字,用CA的共享冲突设置是覆盖还是提示更新失败