--> 测试数据:[tbl1]
if object_id('[tbl1]') is not null drop table [tbl1]
create table [tbl1]([单号] int,[品名] varchar(4),[型号] varchar(4),[数量] int,[单价] int)
if object_id('[tbl2]') is not null drop table [tbl2]
create table [tbl2]([单号] int,实收款 int)
go
if OBJECT_ID('tri_tracy')is not null
drop trigger tri_tracy
go
create trigger tri_tracy on tbl1
after insert
as
insert tbl2
select [单号],sum(数量*单价) as 实收款 from inserted
group by [单号]
insert [tbl1]
select 2012001,'西瓜','大号',2,5 union all
select 2012001,'西瓜','小号',2,1 union all
select 2012001,'西瓜','中号',2,3
select * from tbl2
/*
单号 实收款
2012001 18
*/
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案-------------------- 不知要达到什么效果 其实个人完全可以不要tb2 查询.汇总什么的.建个视图都可以了
------解决方案-------------------- 写一个存储过程,一旦对tb1进行任何操作,都同步修改tb2的数据,放在一个事务里进行。 类似这样: CREATE PROCEDURE dbo.ABC --各种参数 AS BEGIN SET XACT_ABORT ON