DELPHI SQL 的数据相加问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:13:15
如何将 每次输入的 积分 相加后的总积分存进另一个表中
一个表是会员积分信息 ,有会员卡号和每次积分,记录每次消费积分
另一个表有会员卡号和会员总积分,保持每次输入的积分总和,及时更新数据库。
要两个表才可以,不然进行积分删除的时候怎么输出剩余的积分。

我写的那个触发器问题太多所以删了(汗。。)
其实楼下两位兄弟说的很对,你把表合一张表

id 原始值 修改值 总积分 状态 时间

原始值就不说了
修改值就是你每次操作时要扣除或增加的积分
总积分就是修改值和原始值的+ -值
时间就是你操作这条数据的系统时间
状态(1或0):确定操作是增加积分还是扣除积分

当要增加一个会员的积分时,操作顺序如下
修改值=增加或扣除的积分
原始值=原来的总积分
总积分=原始值加或减修改值
状态=1
时间=系统时间

而这表也可以做到日志表的作用
如果说的不对,请直接忽略
一下是我的测试数据:

--测试表
create table jfInfo
(
id int,
ysz int, --原始值
xgz int, --修改值
zjf int, --总积分
zt bit, --状态
rq datetime --操作时间
)
go
--触发器
alter trigger Update_trigger
on jfInfo
for update
as
declare @zt bit
if update(xgz)
begin
set @zt=(select zt from inserted)
--如果有更新操作
if (((select count(*) from deleted)>0) and ((select count(*) from inserted)>0))
begin
if (@zt=1)--如果是增加
begin
update jfInfo set ysz=(select zjf from deleted),
zjf=(select zjf from