目前处理了一个需求,需要根据用户的物料清单(物料编码+物料名称),批量刷新K3系统里边的物料主数据里边的物料名称。踩了个大坑,没有全部改完,导致前端物料主数据看到的和BOM引用看到的物料名称不一致,Mark一下:
1、首先创建临时表#tmp;
CREATE TABLE #tmp
(fnumber varchar(255),
fname varchar(255)
)
2、把新的物料清单导入临时表(#tmp),字段分别为FNumber和FName;导入的数据可以先用excel格式化一下,再粘贴到sql运行页面(具体操作可以看这篇文章https://blog.csdn.net/hzfw2008/article/details/89530441)
INSERT INTO #TMP
(FNumber,FName)
Values
(‘f25ab-pa00117’,‘一次性手套’),–第一条数据
(‘f25ab-pa00117’,‘一次性手套’),–第二条数据
(‘f25ab-pa00117’,‘一次性手套’)–第三条数据,最后一条数据不要打,号
3、更新t_icitem里边的FName和FFullName字段;
update t1
set
t1.FName=u1.FName,t1.FFullName=u1.FFullName
from #tmp u1
INNER JOIN t_ICItem t1 ON t1.fnumber=u1.FNumber
4、更新t_item表里边的FName和FFullName字段;
update t2
set
t2.FName=u1.FName,t2.FFullName=u1.FFullName
from #tmp u1
INNER JOIN t_ICItem t1 ON t1.fnumber=u1.FNumber
inner join t_Item t2 on t2.FItemID = t1.FItemID
OVER.