MSSQL触发器 表B字段随着表A增、删、改而变化

无漾 2017-11-23 03:17:07

统计表A中的lqzy,把统计结果自动更新到表B的jhzx_pllq,
表B中的jhzx_pllq随着表A更新自动更新,用触发器吧?怎么写,谢谢。
...全文
229 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
无漾 2017-11-24
  • 打赏
  • 举报
回复
CREATE trigger str_b on b for insert,update,DELETE as begin UPDATE b SET jhzx_pllq=n FROM b left JOIN (select ,lqzy,nf,count(*) as n from a GROUP BY ,lqzy,nf) aa ON b.nf=aa.nf end ____ 每次更新A表时,B表的jhzx_pllq都不会自动更新,只有鼠标点到jhzx_pllq里,随便输个数字,他才会变成A表统计的结果..这是怎么回事? UPDATE语句单独运行是正常的。
yilanwuyu123 2017-11-24
  • 打赏
  • 举报
回复
建议在业务层处理。触发器会让你觉得调试起来太无从下手.
RINK_1 2017-11-24
  • 打赏
  • 举报
回复
引用 6 楼 oWuYang 的回复:
CREATE trigger str_b on b for insert,update,DELETE as begin UPDATE b SET jhzx_pllq=n FROM b left JOIN (select ,lqzy,nf,count(*) as n from a GROUP BY ,lqzy,nf) aa ON b.nf=aa.nf end ____ 每次更新A表时,B表的jhzx_pllq都不会自动更新,只有鼠标点到jhzx_pllq里,随便输个数字,他才会变成A表统计的结果..这是怎么回事? UPDATE语句单独运行是正常的。
你怎么把触发器建在B表上了,应该建在A上。

CREATE trigger str_b on A
 for insert,update,DELETE
 as
 begin
 UPDATE b 
 SET jhzx_pllq=n 
 FROM b left JOIN (select nf,count(*) as n from a GROUP BY nf) aa ON b.nf=aa.nf 
end
听雨停了 2017-11-23
  • 打赏
  • 举报
回复
引用 4 楼 qq_37170555 的回复:
[quote=引用 2 楼 oWuYang 的回复:] 安装lqzy统计,条件是年份,年份一样的更新

CREATE TRIGGER tg_A ON A表
FOR DELETE,UPDATE,INSERT
AS 
BEGIN
	;WITH cte AS (
	SELECT nf,COUNT(lqzy) AS cnt FROM A表 GROUP BY nf
	)
	--SELECT * FROM cte
	UPDATE a SET b.Jhzx_pllq=b.cnt
	FROM B表 a
	inner join cte b ON a.nf=b.nf
END
上面那样试试,用你的表名替换里面的AB表[/quote] 如果重复的不算或者null也不算那就改一下成下面这样

;WITH cte AS (
SELECT nf,COUNT(distinct lqzy) AS cnt FROM A表 
where isnull(lqzy,'')<>''
GROUP BY nf
)
听雨停了 2017-11-23
  • 打赏
  • 举报
回复
引用 2 楼 oWuYang 的回复:
安装lqzy统计,条件是年份,年份一样的更新

CREATE TRIGGER tg_A ON A表
FOR DELETE,UPDATE,INSERT
AS 
BEGIN
	;WITH cte AS (
	SELECT nf,COUNT(lqzy) AS cnt FROM A表 GROUP BY nf
	)
	--SELECT * FROM cte
	UPDATE a SET b.Jhzx_pllq=b.cnt
	FROM B表 a
	inner join cte b ON a.nf=b.nf
END
上面那样试试,用你的表名替换里面的AB表
听雨停了 2017-11-23
  • 打赏
  • 举报
回复
引用 2 楼 oWuYang 的回复:
安装lqzy统计,条件是年份,年份一样的更新
lqzy重复的算不算啊
无漾 2017-11-23
  • 打赏
  • 举报
回复
安装lqzy统计,条件是年份,年份一样的更新
二月十六 2017-11-23
  • 打赏
  • 举报
回复
按照年份统计吗?

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧