K3物料自定义字段信息更新(存储期限)

收到用户请求,需批量将存储期限更新到K3物料属性,原以为很简单….

1、查询存储期限对应的字段,在[系统设置]-[物料]-[自定义],找到[存储期限]字段

2、查询物料属性关联的数据库表,f_176对应“存储期限”

SELECT f_176,* FROM T_ICItem --HERE FNumber='11.05.03.00510'

3、将用户待更新数据Excel(下图)导入数据库临时表
参考链接:Excel表怎么导入SQL Server2012

物料

4、更新物料数据,执行

UPDATE T_ICItem SET f_176=c.物料存储期限 FROM t_cunchuqixian c  WHERE FNumber=c.物料编码 AND FNumber='11.05.03.00510' AND  c.物料存储期限 IS NOT NULL

产生错误提示:

不允许使用 UPDATE,因为该语句会更新视图 "T_ICItem",而该视图参与联接并且有一个 INSTEAD OF UPDATE 触发器。

5、原来是T_ICItem视图,没法直接更新,于是查找视图该字段的源表

EXEC SP_HELPTEXT t_ICItem

6、找到F_176关联在表 t_ICItemCustom中,于是直接更新该表即可

--先更新FItemID
UPDATE t_cunchuqixian SET 物料类型= c.FItemID FROM T_ICItem c WHERE c.FNumber=t_cunchuqixian.物料编码

UPDATE t_ICItemCustom
SET F_176 = 物料存储期限
FROM dbo.t_cunchuqixian c
WHERE 物料类型 = FItemID
      AND c.物料存储期限 IS NOT NULL;

7、其实,是很简单…

猜你喜欢

转载自blog.csdn.net/lglglgl/article/details/80077200
今日推荐