日期:2014-05-18  浏览次数:20606 次

sqlserver中跨表乘法计算
两个表,一个A表,一个B表
A表列为BookID, Price
B表列为BookID, Number, TotalPrice
两表通过BookID连接,如何在SqlServer中设置自动使得
TotalPrice=Price*Number

------解决方案--------------------
这个应该要用的触发器吧 只要price更新或者插入 b表totalprice就要相应的随之更新和插入
------解决方案--------------------
SQL code


create trigger tri_B_u
on B
for update
as
if update(number)
begin
    declare @number int,@id int
    select @id=id,@number=number from inserted--id是B表的主键
    update t6 set num=@number,total=@number*price from A where B.bookid=A.bookid and B.id=@id
end

运行下,这个,然后你修一个number看看吧。

------解决方案--------------------
SQL code


create trigger tri_B_i
on B
for insert
as
declare @id int @number int
declare @number int,@id int
select @id=id,@number=number from inserted--id是B表的主键
update B set total=@number*price from A where B.bookid=A.bookid and B.id=@id