壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1409|回复: 3

【提问】关于触发器的问题

[复制链接]
发表于 2008/9/9 09:29:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
写了一个FOR UPDATE的触发器,功能是单据分录内单价字段为0时不允许审核

我的思路是这样的,当审核时,判断有没有单价为0的分录,如果有,清空审核人、审核时间,同时修改审核状态,并弹出提示对话框。

写是写好了,但是测试时我发现,根本不用对以上三个字段做出update的动作。
本来是好事,我本来就不想直接更改数据库数据,我只是不明白,为什么我在修改单据头内容并按“保存”的时候,并不会触发这个触发器?

附触发器代码

ALTER TRIGGER [POInStock_update_Check]
ON [dbo].[POInStock]
FOR update
AS


--Set nocount on
--Begin transaction

Declare @FInterID    int    --单据的内码,与icstockbillentry关联
Declare @FTranType   int    --单据类型(72-收料通知,73-退料通知,702-采购检验申请单)
Declare @FPrice     int    --单价为零数量

SELECT @FInterID=FInterID,@FTranType = FTranType FROM INSERTED
SELECT @FPrice=count(*) from POInStockEntry Where FInterID = @FInterID and FPrice=0


if @FPrice <> 0 and @FTranType = 73
   Begin
       -- update POInStock set FCheckerID=NULL,FCheckDate=NULL,FStatus=0 where FInterID = @FInterID
        RAISERROR ('某项分录单价为空,请检查。该单据未审核。',18,18)
        Return
   End
 楼主| 发表于 2008/9/10 16:23:52 | 显示全部楼层
自顶!!求高人指点迷津
发表于 2009/9/1 14:39:45 | 显示全部楼层
if @FPrice='0' and @FTranTpye=73
发表于 2009/9/2 15:03:38 | 显示全部楼层
不懂哦 只是路过
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 05:35 , Processed in 0.012987 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表