情形:1w多个料号导入系统,通过interface导入,但是整理时错位,导致料号和描述对不上。

解决方法:后台底表直接修改msib表的segment1栏位

后果:发现前台标准界面无法修改此料号属性,保存报错,经查标准代码发现

ENI_OLTP_ITEM_STAR这个table记录了料号和组织代码的组合值,插入和更新时

会同时记录到此表中,修改时因为此表的唯一索引导致不能修改

解决方法:

UPDATE ENI_OLTP_ITEM_STAR EOS
  SET EOS.VALUE = (SELECT MSIB.SEGMENT1 || ' (1ZM)' FROM MTL_SYSTEM_ITEMS_B MSIB WHERE MSIB.INVENTORY_ITEM_ID = EOS.INVENTORY_ITEM_ID
               AND MSIB.ORGANIZATION_ID = EOS.ORGANIZATION_ID
               AND MSIB.ORGANIZATION_ID = 118)
WHERE (EOS.INVENTORY_ITEM_ID,EOS.ORGANIZATION_ID)
IN (SELECT MSIB1.INVENTORY_ITEM_ID,MSIB1.ORGANIZATION_ID FROM MTL_SYSTEM_ITEMS_B MSIB1 WHERE MSIB1.ORGANIZATION_ID = 118)

直接修改标准表的值栏位和msib表相同,这样就可以修改标准前台界面的属性了。

用如下代码可以查看这两个table中有哪些料号是不等的

SELECT MSIB.SEGMENT1,U.VALUE FROM MTL_SYSTEM_ITEMS_B MSIB,ENI_OLTP_ITEM_STAR U WHERE MSIB.ORGANIZATION_ID IN (112)
AND MSIB.ORGANIZATION_ID = U.ORGANIZATION_ID
AND MSIB.INVENTORY_ITEM_ID = U.INVENTORY_ITEM_ID
AND MSIB.SEGMENT1 <> SUBSTR(U.VALUE,1,14)
and msib.segment1 in ('N4DA-740553-00','Y5PK-740514-00')

虽然目前属性可以改了,但是你会发现一个问题:

以前的主org1  这个料号inventory_item_id = 1

现在的主org2 相同的料号inventory_item_id = 2

因为org2导入的时候,料号与org1的料号相同,后来底表直接修改segment1导致现在料号相同,inventory_item_id不同

目前好像是没发现什么问题,但是为保险起见,我把料号全部删除,重新导入

导入后发现,料号相同,主org不同,inventory_item_id也是相同的,这样就确保没有问题。

结论:不要用底表更改msib的segment1的值,要改也要前台修改,profile:可更新物料名  =  Y

二次上线之后台底表更新料号(后果)相关推荐

  1. Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新

    一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS    S ...

  2. sql跨表查询_跨表查询经常有,何为跨表更新?

    有点 SQL 基础的朋友肯定听过 「跨表查询」,那啥是跨表更新啊? 背景 项目新导入了一批人员数据,这些人的有的部门名称发生了变化,有的联系方式发生了变化,暂且称该表为 t_dept_members, ...

  3. 几种内表更新方式的性能比较

    ABAP程序中,内表更新主要有以下程序中的三种更新方式.一是通过字段符.二是使用索引.三是循环中直接更新.据我观察,直接使用第三种方式的人占大多数,使用字段符与使用索引的人应该差不多.这三种方式实际性 ...

  4. sql跨表查询_跨表更新,看到自己写的SQL像个憨憨

    有点 SQL 基础的朋友肯定听过 「跨表查询」,那啥是跨表更新啊? 背景 项目新导入了一批人员数据,这些人的有的部门名称发生了变化,有的联系方式发生了变化,暂且称该表为 t_dept_members, ...

  5. QPW 系统管理后台用户表(tm_user_info)

    文章目录 系统管理后台用户表 字段说明 系统管理后台用户表 CREATE TABLE `tm_user_info` (`user_id` int(11) NOT NULL AUTO_INCREMENT ...

  6. update和delete操作忘加where条件导致全表更新的处理方法

    在数据库日常维护中,开发人员是最让人头痛的,很多时候都会由于SQL语句写的有问题导致服务器出问题,导致资源耗尽.最危险的操作就是在做DML操作的时候忘加where条件,导致全表更新,这是作为运维或者D ...

  7. python-flask(二)集成bootstrap、集成web表单、集成邮件发送

    文章目录 一.flask集成bootstrap 1. 什么是Bootstrap? 2. Flask中如何集成Bootstrap? 3. Flask-Bootstrap实现了什么? 二.Flask中集成 ...

  8. form表单提交后台获取表单信息

    一.需求 客户端通过前端填写表单信息,后台获取表单信息进行相应处理. 二.工具 前端采用jsp,后台 springmvc 三.示例 (一).前端输入的form表单代码 <form id=&quo ...

  9. 如何规避MyBatis使用过程中带来的全表更新风险

    作者:京东零售 贾玉西 一.前言 程序员A: MyBatis用过吧? 程序员B: 用过 程序员A: 好巧,我也用过,那你遇到过什么风险没?比如全表数据被更新或者删除了. 程序员B: 咔,还没遇到过,这 ...

最新文章

  1. 人工智能的发展,需要遵守的四个AI伦理原则
  2. 文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档
  3. Java的语法格式是什么?有哪些需要注意?
  4. ITK:Sobel边缘检测图像滤镜
  5. mysql alert on delete cascade_如何在mysql中删除级联使用?(How do I use on delete cascade in mysql?)...
  6. 设计java application程序_下面哪些步骤是Java Application程序的建立及运行的步骤( )...
  7. mysql space id_MySQL8.0新特性:增加系统文件追踪space ID和物理文件的映射-阿里云开发者社区...
  8. 通过CentOS克隆虚拟机后发现无法启动网卡或无法上网的解决办法
  9. 数值分析(6)-函数逼近的基本概念
  10. android转场动画的两种方式
  11. 樊登读书会掌控读后感_樊登读书会观后感
  12. 从数学角度看基金定投
  13. 使用es6模块化出现Access to script at 'file:///... ..from origin 'null' has been blocked。。。错误
  14. 【介绍】全球最大黑客组织:匿名者
  15. cannot be resolved to a type 错误解决
  16. AC6969A 双声道蓝牙芯片 经典蓝牙5.3 纯蓝牙
  17. 【xla】五、【构图阶段】xlaCompileOp
  18. springboot萌宠宠物网店的开发与设计 毕业设计-附源码011042
  19. Mac 系统不兼容移动硬盘无法识别怎么办
  20. Java 求解岛屿数量

热门文章

  1. 2022登高架设考题及在线模拟考试
  2. RK3566 AndroidR usb otg host和peripheral切换软件手动切换,写/sys/devices/platform/fe8a0000.usb2-phy/otg_mode
  3. 收藏很久的开关电源书籍
  4. Intellij IDEA 的 Soft-wrap 是什么
  5. 自动保存表单草稿插件
  6. 保险Insurance
  7. 开发amis工作日历组件
  8. 中国采购行业出现W形复苏迹象
  9. Intelligent REST API Data Fuzzing
  10. DM7启动dmap服务报错问题