实际工作遇到的触发器问题????

rickyweiwei 2007-03-29 01:53:17
能不能指导一下如何写成触发器啊

ZW (2007-03-29 13:35:51)
1、Select finterid from icitemscrap
where fbillno = 'abc000001'
R:
finterid = 1000

2、 select fitemid,ficmointerid from icitemscrapentry
where finterid = 1000

R:
fitemid ficmointerid
2053 1034
2549 1034


3、select fqtymust from ppbomentry,icitemscrapentry
where icitemscrapentry.finterid = 1000 and ppbomentry.ficmointerid = icitemscrapentry.ficmointerid and ppbomentry.fitemid = icitemscrapentry.fitemid

R:
6873.0000000000
6873.0000000000

4、将上面得到的结果去更新icitemscrapentry对应的列值
UPDATE icitemscrapentry
SET fentryselfz0627 = 第三步的结果

求触发器!!谢谢!第一次写这个东东,找了半天资料也没搞明白,谢谢啊!!!
...全文
211 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rickyweiwei 2007-03-29
  • 打赏
  • 举报
回复
CREATE TRIGGER [zw] ON [dbo].[PPBOMEntry]
FOR INSERT, UPDATE, DELETE
AS
declare @ficmointerid int
declare @fitemid int
declare @fqtymust int

select @fqtymust=fqtymust,@fitemid=fitemid,@ficmointerid=ficmointerid from inserted

selectt @fqtymust=fqtymust
from ppbomentry
where fitemid=@fitemid and ficmointerid=@ficmointerid

update icitemscrapentry
set fentryselfz0627 = @fqtymust
where fitemid=@fitemid and ficmointerid=@ficmointerid

说我set fentryselfz0627 = @fqtymust语法出错,错在哪儿呢?/
rickyweiwei 2007-03-29
  • 打赏
  • 举报
回复
我想做到抓出PPBOMENTRY表中满足条件的记录对应列值去更新icitemscrapentry表中的fentryselfz0627列值,其中,icitemscrapentry表中是PPBOMENTRY子集;

。。。。
CathySun118 2007-03-29
  • 打赏
  • 举报
回复
lz,要建立什么类型的触发器啊:更新的、新增的、删除的
你可以简单的这样写
CREATE TRIGGER [TRIGGER NAME] ON [table]
FOR INSERT, UPDATE, DELETE
AS

UPDATE icitemscrapentry
SET fentryselfz0627 = fqtymust from ppbomentry,icitemscrapentry
where icitemscrapentry.finterid = 1000 and ppbomentry.ficmointerid = icitemscrapentry.ficmointerid and ppbomentry.fitemid = icitemscrapentry.fitemid
rickyweiwei 2007-03-29
  • 打赏
  • 举报
回复
有人提示我照这个做:
declare @aaa int
select @aaa=finterid from inserted
update icstockbill
set fsupplyid=fheadselfb0144
where ftrantype=21 and finterid=@aaa

@aaa是当前操作单据的意思

可是我看了半天也不明白!!
rickyweiwei 2007-03-29
  • 打赏
  • 举报
回复
也就是一个表的值去更新另一张表的另一个值???
rickyweiwei 2007-03-29
  • 打赏
  • 举报
回复
用一张表的一个字段去更新另一张表的字段,?
dawugui 2007-03-29
  • 打赏
  • 举报
回复
你这个处罚器好麻烦.

另:
3、select fqtymust from ppbomentry,icitemscrapentry
where icitemscrapentry.finterid = 1000 and ppbomentry.ficmointerid = icitemscrapentry.ficmointerid and ppbomentry.fitemid = icitemscrapentry.fitemid

R:
6873.0000000000
6873.0000000000

4、将上面得到的结果去更新icitemscrapentry对应的列值
UPDATE icitemscrapentry
SET fentryselfz0627 = 第三步的结果

第三步有多个结果.在第四步UPDATE时应该还有条件吧.

27,580

社区成员

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

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