select sum(s.sl) from glzcsj s
left join deleted d on s.id=d.id請問這個加總是刪除后的加總還是刪除前的加總,如果換成inserted,是新增前的加总还是新增后的.select sum(s.sl+i.sl) from glzcsj s
left join inserted i on s.id=i.id
這樣好像也沒什么作用
left join deleted d on s.id=d.id請問這個加總是刪除后的加總還是刪除前的加總,如果換成inserted,是新增前的加总还是新增后的.select sum(s.sl+i.sl) from glzcsj s
left join inserted i on s.id=i.id
這樣好像也沒什么作用
解决方案 »
- 请教数据库达人(Sql Server 2005)
- 请问有没有办法解决这个select语句分析的问题,前一贴居然不能打开,再发一次
- sql2005查询条件包含中文时找不到记录,怎么回事?
- 超级难度的SQL语句,请高手进来
- 奇怪的问题,急呀。请教!!!!
- 这样子数据库可以恢复吗 ?(有mdf,ldf文件)
- 请问我的sql server 2000为什么会装不上?
- 两个sql语句问题
- sql6.5主服务器数据库总空间1150M可用空间480M,备份服务器总空间1150M可用640M,两机每日定时TRANSFER,为何可用空间不一至。
- mfc 操作access 数据库
- 不小心删掉了一些数据库里的记录,只有半月前的备份,如何恢复到删记录前呀???用的是ms sql server 2000
- 简单问题 有分散
ALTER TRIGGER TR_glzcsj_D
ON dbo.glzcsj
FOR DELETE
AS BEGIN
SET NOCOUNT ON
UPDATE a SET ywgs=b.ywgs, ykgs=b.ykgs
FROM glzc a,
(SELECT deleted.glzcid,ISNULL(SUM(case s.glzt when '狀態一' then isnull(s.sl,0) end),0)
-ISNULL(SUM(case s.glzt when '狀態二' then isnull(s.sl,0) end),0) ywgs,
ISNULL(SUM(case s.glzt when '狀態三' then isnull(s.sl,0) end),0)
+ISNULL(SUM(case s.glzt when '狀態四' then isnull(s.sl,0) end),0) ykgs
FROM deleted
left join glzcsj s on deleted.glzcid=s.glzcid
GROUP BY deleted.glzcid, deleted.sl) b
WHERE a.id=b.glzcid
END我中午睡覺的時候突然想到了.應該這樣寫,原因是:
如果刪除最后glzcsj中最后和筆記錄.
select * from glzcsj left join deleted on glzcsj.glzcid=deleted.glzcid時因為glzcsj這裡已經為空,glzcsj.glzcid是不會有值的,必須反過來過.去讀deleted.glzcid的值.因為不管怎樣.delete時.deleted中一定會有記錄
splory(爽儿)
是你的這段話提醒了我.