找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

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

存货档案挂触发器后保存不成功

[复制链接]
发表于 2011-2-5 04:07:01 | 显示全部楼层 |阅读模式
U8问题库
问题名称: 存货档案挂触发器后保存不成功
问题号: 200712240078
软件版本: 8.70sp
适用产品: 供应链
软件模块: 采购管理
最后更新时间: 2008-1-8 23:14:51
问题现象: 触发器在存货档修改出现提示“系统忙,请稍后再试”,我在数据库中修改存货档时触发成功的,触发器如:

CREATE TRIGGER [tccb] ON [dbo].[Inventory] 

FOR  UPDATE

AS

update pu_appvouchs set pu_appvouchs.funitprice=isnull(Inventory.iinvncost,0) ,

ftaxprice=isnull(Inventory.iinvncost,0)*(1+isnull(pu_appvouchs.ipertaxrate,0)),

fmoney=isnull(Inventory.iinvncost,0)*(1+isnull(pu_appvouchs.ipertaxrate,0))*isnull(pu_appvouchs.fquantity,0)



FROM dbo.PU_AppVouchs INNER JOIN

      dbo.PU_AppVouch ON dbo.PU_AppVouchs.ID = dbo.PU_AppVouch.ID INNER JOIN

      inserted ON 

      dbo.PU_AppVouchs.cInvCode = inserted.cInvCode INNER JOIN

      dbo.Inventory ON inserted.cInvCode = dbo.Inventory.cInvCode

WHERE (ISNULL(dbo.PU_AppVouch.cVerifier, '') <> '')

print '执行完成'
解决方案: 您好:

    不仅仅是去掉print!

请使用如下语句测试:



CREATE TRIGGER [tccb] ON [dbo].[Inventory] 

FOR  UPDATE

AS

SET 

SET NOCOUNT  ON

update pu_appvouchs 

set  pu_appvouchs.funitprice=isnull(inserted.iinvncost,0) ,

ftaxprice=isnull(inserted.iinvncost,0)*(1+isnull(pu_appvouchs.ipertaxrate,0)),

fmoney=isnull(inserted.iinvncost,0)*(1+isnull(pu_appvouchs.ipertaxrate,0))*isnull(pu_appvouchs.fquantity,0)

FROM dbo.PU_AppVouchs 

INNER JOIN dbo.PU_AppVouch ON dbo.PU_AppVouchs.ID = dbo.PU_AppVouch.ID 

INNER JOIN inserted ON dbo.PU_AppVouchs.cInvCode = inserted.cInvCode 

--INNER JOIN dbo.Inventory ON inserted.cInvCode = dbo.Inventory.cInvCode

WHERE (ISNULL(dbo.PU_AppVouch.cVerifier, '') <> '')



SET NOCOUNT  OFF



注:由于网站会自动修改一些字符,请拷贝后注意修改为正确的字符才能生成触发器。


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

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

×
触发器在存货档修改出现提示“系统忙,请稍后再试”,我在数据库中修改存货档时触发成功的,触发器如:
CREATE TRIGGER [tccb] ON [dbo].[Inventory]
FOR  UPDATE
AS
update pu_appvouchs set pu_appvouchs.funitprice=isnull(Inventory.iinvncost,0) ,
ftaxprice=isnull(Inventory.iinvncost,0)*(1+isnull(pu_appvouchs.ipertaxrate,0)),
fmoney=isnull(Inventory.iinvncost,0)*(1+isnull(pu_appvouchs.ipertaxrate,0))*isnull(pu_appvouchs.fquantity,0)

FROM dbo.PU_AppVouchs INNER JOIN
      dbo.PU_AppVouch ON dbo.PU_AppVouchs.ID = dbo.PU_AppVouch.ID INNER JOIN
      inserted ON
      dbo.PU_AppVouchs.cInvCode = inserted.cInvCode INNER JOIN
      dbo.Inventory ON inserted.cInvCode = dbo.Inventory.cInvCode
WHERE (ISNULL(dbo.PU_AppVouch.cVerifier, '')  '')
print '执行完成'
发表于 2011-7-12 17:32:14 | 显示全部楼层
看不明白。。。纠结
发表于 2011-7-20 17:02:25 | 显示全部楼层
过来学习学习
发表于 2011-9-18 18:49:15 | 显示全部楼层
这段语言很值得仔细研究一下,劲。
发表于 2011-9-24 16:05:49 | 显示全部楼层
恭喜你了....
发表于 2011-9-26 10:38:15 | 显示全部楼层
代码,正好学习学习
发表于 2011-10-12 11:47:00 | 显示全部楼层
看不懂啊,过来给您们 灌水
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-5-7 23:36 , Processed in 0.038091 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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