找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 2309|回复: 0

[数据库知识] 请教:更新复核人并且复核人不为空的时候,那么执行。。

[复制链接]
发表于 2017-3-21 19:28:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
请教:
create TRIGGER YQF_PurBillVouch ON PurBillVouch
FOR insert,update
AS
if UPDATE(cVerifier)      --并且cVerifier不是NULL 试过(and cVerifier is not null)不行,有问题。不知道怎么写

BEGIN
IF EXISTS(SELECT * FROM inserted A
INNER JOIN PurBillVouchs B on A.PBVID=B.PBVID WHERE A.bnegative=0 AND B.iPBVQuantity<0)
begin
raiserror ('蓝字发票不允许包含负数记录,请核实!!!',11,1)
end
end





PurBillVouch是采购发票主表,当bnegative=0时,采购发票为蓝字发票
cVerifier是复核人意思
PurBillVouchs是采购发票子表


保存的允许子表出现负数,但是当复核的时候,就去检测,如有负数就不允许
要先去删除子表的负数记录
但是删除后再去保存的时候,虽然这个时候cVerifier是空的,但是其实保存的时候,经跟踪,其实还是去做了一遍 UPDATE PurBillVouch set cVerifier=null 的动作
所以仅仅用if UPDATE(cVerifier) 不行,要再排除 if UPDATE(cVerifier) 并且cVerifier不等于null



您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-3-29 22:47 , Processed in 0.026122 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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