【MySQL】模具更新方案

系列文章

C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179216

C#底层库–MySQL数据库操作辅助类(推荐阅读)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126886379

C#底层库–SQLite的使用(小型、本地数据库)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/123666958

【提高编程效率】Excel数据批量导入数据库
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126427323

【Oracle】数据库服务器限制ip访问
本文链接:https://blog.csdn.net/youcheng_ge/article/details/122220930

【Oracle】Excel导入数据教程
本文链接:https://blog.csdn.net/youcheng_ge/article/details/118722756

【Oracle】数据库还原教程_数据泵
本文链接:https://blog.csdn.net/youcheng_ge/article/details/118054855

【SQL】如何查询表字段并识别主键
本文链接:https://blog.csdn.net/youcheng_ge/article/details/110820405

【SQL】outer apply的用法
本文链接:https://blog.csdn.net/youcheng_ge/article/details/79903489

【SQL】多表连接重复数据处理
本文链接:https://blog.csdn.net/youcheng_ge/article/details/79903619

MySQL安装教程(详细)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126037520

MySQL卸载教程(详细)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129279265

【MySQL】group by分类汇总,如何增加“总计”字段?
本文链接:https://blog.csdn.net/youcheng_ge/article/details/128217837

【MySQL】WITH CHECK OPTION的用法
本文链接:https://blog.csdn.net/youcheng_ge/article/details/128147196

【MySQL】使用存储过程插入千万级数据如何提升效率?
本文链接:https://blog.csdn.net/youcheng_ge/article/details/77728189

【MySQL】数据库表行列转置的实现
本文链接:https://blog.csdn.net/youcheng_ge/article/details/77625052

【MySQL】查询中,NULL值转换为空字符串
本文链接:https://blog.csdn.net/youcheng_ge/article/details/130381878

文章目录

  • 系列文章
  • 前言
  • 一、技术介绍
  • 二、测试用例
  • 三、用法总结


前言

本专栏为【数据库】,主要介绍SQL的功能与特点、SQL数据定义语言(表、视图、索引、约束)、SQL数据操作语言(数据检索、数据插入、数据删除、数据更新)、创建与删除触发器、SQL数据控制语言(安全性和授权、事务处理)以及嵌入式SQL。
如果你对本专辑感兴趣,持续关注吧。大家有任何问题,也可以评论区反馈,私信我。
在这里插入图片描述

一、技术介绍

1、本地完成对【模具信息表】、【模具检验数据表】、【模具返修流程表】、【模具出入库表】、【物料出入库表(模具部分)】、【物料库存表(模具部分)】数据初始化构造。
耗时不可预期,对MES系统无影响。2、服务端(MES),仅拷贝【模具信息表】、【模具检验数据表】、【模具返修流程表】、【模具出入库表】、【物料出入库表(模具部分)】表结构,重命名为【模具信息表_copy1】、【模具检验数据表_copy1】、【模具返修流程表_copy1】、【模具出入库表_copy1】、【物料出入库表_copy1(模具部分)】。
预计耗时5分钟3、将本地初始化数据,导入【模具信息表_copy1】、【模具检验数据表_copy1】、【模具返修流程表_copy1】、【模具出入库表_copy1】、【物料出入库表_copy1(模具部分)】表中。
预计耗时2小时4、服务端(MES),2小时内,增量数据导出5、停止服务端(MES),更新服务端(MES)功能组件;copy1表 替换 原表;2小时内,增量数据导入。预计耗时30分钟,对现场有影响。6、启动服务端(MES)

二、测试用例

-- 20230731,模具车间数据初始化-- 1、模具返修流程表,增量数据
-- 增量数据
SELECT 模具检验录入时间,模具信息表.* FROM 模具信息表 WHERE 模具检验录入时间>'2023-07-28'
SELECT 模具检验录入时间,模具返修流程表.* FROM 模具返修流程表 ORDER BY 模具检验录入时间 LIMIT 0,500SELECT COUNT(*) FROM 模具信息表 WHERE 模具检验录入时间>'2023-07-28' 
954INSERT INTO `dl_mes`.`模具返修流程表` (`公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`) SELECT `公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注` 
FROM 模具信息表 WHERE 模具检验录入时间>'2023-07-28'验证:
SELECT count(*) FROM 模具信息表 93852
SELECT count(*) FROM 模具返修流程表 70795-- 2、模具信息表,数据初始化:
-- ①新模具,
SELECT 模具供应商编号,模具出厂编号,COUNT(*) as count FROM 模具流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(*) = 1;INSERT INTO `dl_mes`.`模具信息表_copy1`(`公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`)SELECT `公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) = 1;-- ②返修模具
SELECT * FROM 模具返修流程表 where AutoID In
(SELECT Max(AutoID) as AutoID FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) > 1
)
2590INSERT INTO `dl_mes`.`模具信息表_copy1`(`公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`)SELECT `公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`
FROM 模具返修流程表 where AutoID In
(SELECT Max(AutoID) as AutoID FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) > 1
)-- 3、模具检验数据表,数据初始化:
INSERT INTO `dl_mes`.`模具检验数据表` (`公司编号`, `模具检验编号`, `返修次数`, `模具编号`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`) SELECT `公司编号`, CONCAT(模具供应商编号,'-',模具出厂编号,'-',COUNT(返修次数)-1 ) AS `模具检验编号`, COUNT(返修次数)-1 AS `返修次数`, `模具编号`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`
FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号,平均直径,模具出厂直径,模具检验时间
-- HAVING COUNT(返修次数)>2102行验证:
SELECT count(*) FROM 模具检验数据表 70136
SELECT count(*) FROM 模具返修流程表 70795-- 4、模具返修流程表,删除重复数据:659
SELECT count(*) FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号,平均直径,模具出厂直径,模具检验时间 HAVING COUNT(1) > 1DELETE FROM 模具返修流程表 where AutoID In
(SELECT MIN(AutoID) as AutoID FROM 模具返修流程表_copy1 GROUP BY 模具供应商编号,模具出厂编号,平均直径,模具出厂直径,模具检验时间 HAVING COUNT(1) > 1
);SELECT * FROM 模具返修流程表 where AutoID In
(SELECT MIN(AutoID) as AutoID FROM 模具返修流程表_copy1 GROUP BY 模具供应商编号,模具出厂编号,平均直径,模具出厂直径,模具检验时间 HAVING COUNT(1) > 1
);-- 5、模具出入库表,删除重复数据:659
-- ①模具出库,新模和返修模
INSERT INTO `dl_mes`.`模具出入库表_copy1` (`公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库单据编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `模具编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`) 
SELECT `公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库单据编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `模具编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注` FROM 模具出入库表 where 出入库类型='材料领用出库' -- ①模具入库,根据模具出库构造入库流水
INSERT INTO `dl_mes`.`模具出入库表_copy1` (`公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库单据编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `模具编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`) 
SELECT `公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, 'BIM202305001', '采购入库', `存货编码`, '09', '09', `模具编号`, -数量, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, '模具入库' FROM 模具出入库表_copy1 where 出入库类型='材料领用出库'验证:
SELECT count(*) FROM 模具出入库表_copy1 WHERE 出入库类型='采购入库' 4669
SELECT count(*) FROM 模具出入库表_copy1 WHERE 出入库类型='材料领用出库' 4669
SELECT count(*) FROM 模具出入库表 WHERE 出入库类型='材料领用出库' 4669-- 6、物料库存表
DELETE FROM 物料出入库表_copy1 WHERE 出入库备注 LIKE '%模具%'INSERT INTO `dl_mes`.`物料出入库表_copy1` (`公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`) SELECT `公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, SUM(`数量`), `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`
FROM 模具出入库表_copy1 WHERE 出入库类型='采购入库' GROUP BY 存货编码INSERT INTO `dl_mes`.`物料出入库表_copy1` (`公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`) SELECT `公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, SUM(`数量`), `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`
FROM 模具出入库表_copy1 WHERE 出入库类型='材料领用出库' GROUP BY 存货编码-- 7、模具出入库表_copy1,增补入库流水
-- 模具信息表存在,入库流水中没有的
-- 没有打印标签的
SELECT 状态描述,模具信息表_copy1.* 
FROM 模具信息表_copy1 WHERE 模具编号='空' UPDATE 模具信息表_copy1 SET 状态描述='已经模具检验合格, 等待模具打标' WHERE 模具编号='空' -- 已打印标签,未入库的
SELECT 状态描述,a.*
FROM 模具信息表_copy1 a
LEFT JOIN 模具出入库表_copy1 b ON a.模具编号=b.模具编号 and b.出入库类型='采购入库'
WHERE a.模具编号<>'空' AND b.AutoID IS NULL UPDATE 模具信息表_copy1 a
LEFT JOIN 模具出入库表_copy1 b ON a.模具编号=b.模具编号 and b.出入库类型='采购入库'
SET a.状态描述='已经模具打标, 等待模具入库'
WHERE a.模具编号<>'空' AND b.AutoID IS NULL -- 已打印标签,已入库的
SELECT 状态描述,a.*
FROM 模具信息表_copy1 a
LEFT JOIN 模具出入库表_copy1 b ON a.模具编号=b.模具编号 and b.出入库类型='采购入库'
WHERE a.模具编号<>'空' AND b.AutoID IS NOT NULL UPDATE 模具信息表_copy1 a
LEFT JOIN 模具出入库表_copy1 b ON a.模具编号=b.模具编号 and b.出入库类型='采购入库'
SET a.状态描述='已经模具入库, 等待模具领用'
WHERE a.模具编号<>'空' AND b.AutoID IS NOT NULL -- 已打印标签,已入库的,已领出
SELECT 状态描述,a.*
FROM 模具信息表_copy1 a
LEFT JOIN 模具出入库表_copy1 b ON a.模具编号=b.模具编号 and b.出入库类型='材料领用出库'
WHERE a.模具编号<>'空' AND b.AutoID IS NOT NULL UPDATE 模具信息表_copy1 a
LEFT JOIN 模具出入库表_copy1 b ON a.模具编号=b.模具编号 and b.出入库类型='材料领用出库'
SET a.状态描述='已经模具领用, 等待模具返修'
WHERE a.模具编号<>'空' AND b.AutoID IS NOT NULL -- 导入20230731增量数据select * FROM 模具信息表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) > 1INSERT INTO `dl_mes`.`模具信息表`(`公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`)SELECT `公司编号`, `工厂名称`, `存货编码`, `采购订单编号`, `领用申请单编号`, `销售订单编号`, `模具供应商编号`, `模具类别`, `模具类型`, `模具材质`, `模具出厂编号`, `模具出厂规格`, `模具出厂直径`, `返修次数`, `模具编号`, `模链编号`, `模具标准规格`, `模具规格`, `模具标准直径`, `模具直径`, `模芯规格`, `粒度`, `状态描述`, `库存状态`, `仓库编号`, `货位编号`, `设备编号`, `下盘编号`, `下盘规格`, `累计公里数`, `累计盘数`, `行动`, `模具打标时间`, `模具打标录入时间`, `模具打标操作人编号`, `模具打标备注`, `模具检验时间`, `模具检验录入时间`, `模具检验人编号`, `异常类型`, `特殊检验说明`, `模具检验备注`, `最小直径`, `最大直径`, `平均直径`, `椭圆度`, `椭圆率`, `左定径长度`, `右定径长度`, `定径长度`, `有效值`, `定径区AR`, `左压缩角`, `右压缩角`, `压缩角`, `压缩区AR1`, `压缩区AR2`, `孔偏角X`, `孔偏角Y`, `倍率`, `检验结果`, `模具首次入库时间`, `领用类型`, `模具领用时间`, `模具领用录入时间`, `模具领用人编号`, `模具领用备注`, `模具退库时间`, `模具退库录入时间`, `模具退库操作人编号`, `模具退库原因`, `模具退库备注`, `模具采购退货时间`, `模具采购退货录入时间`, `模具采购退货操作人编号`, `模具采购退货原因`, `模具采购退货备注`, `模具报废时间`, `模具报废录入时间`, `模具报废操作人编号`, `模具报废原因`, `模具报废备注`FROM 模具信息表_原 ORDER BY 模具检验时间 DESCWHERE 模具检验录入时间>'2023-07-30 18:29' -- 更新标准直径、模具直径
-- 模具信息表
SELECT 返修次数,模具标准规格,模具规格,模具标准直径,模具直径,平均直径 
FROM 模具信息表UPDATE 模具信息表
SET 模具标准规格=模具出厂规格,模具标准直径=模具出厂直径,模具直径=平均直径-- 模具返修流程表
SELECT 返修次数,模具标准规格,模具规格,模具标准直径,模具直径,平均直径 
FROM 模具返修流程表UPDATE 模具返修流程表
SET 模具标准规格=模具出厂规格,模具标准直径=模具出厂直径,模具直径=平均直径2023-07-31 18:05:45
SELECT 出入库录入时间 
FROM 模具出入库表_原 WHERE 出入库类型='材料领用出库' ORDER BY 出入库录入时间 DESC2023-07-31 12:45:52
SELECT 出入库录入时间 
FROM 模具出入库表 WHERE 出入库类型='材料领用出库' ORDER BY 出入库录入时间 DESCINSERT INTO `dl_mes`.`模具出入库表` (`公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库单据编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `模具编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注`) 
SELECT `公司编号`, `采购订单编号`, `产成品入库单编号`, `领料申请单编号`, `销售订单编号`, `出入库单据编号`, `出入库类型`, `存货编码`, `仓库编号`, `货位编号`, `模具编号`, `数量`, `出入库时间`, `出入库录入时间`, `出入库操作人编号`, `库管员编号`, `出入库备注` 
FROM 模具出入库表_原 WHERE 出入库类型='材料领用出库' AND 出入库录入时间>'2023-07-31 12:45:52'SELECT 出入库录入时间 
FROM 模具出入库表_原 WHERE 出入库类型='采购入库' ORDER BY 出入库录入时间 DESCZ000023-- 更新模具标准直径、模具直径、模具出厂直径、返修次数等字段
SELECT 返修次数,模具出厂规格,模具出厂直径,模具标准规格,模具标准直径,模具规格,模具直径,平均直径 
FROM 模具返修流程表-- ①新模具,出厂标准直径,等于标准直径
SELECT a.模具出厂规格,a.模具出厂直径,b.模具标准规格,b.模具标准直径 
FROM 模具返修流程表 a
LEFT JOIN
(SELECT 模具出厂规格,模具出厂直径,模具标准规格,模具标准直径,模具供应商编号,模具出厂编号 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) = 1
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
WHERE a.模具出厂直径<>b.模具标准直径-- ②返修模具,出厂标准直径,等于第一条的标准直径
SELECT a.模具出厂规格,a.模具出厂直径,b.模具标准直径 
FROM 模具返修流程表 a
LEFT JOIN
(SELECT min(模具标准直径) AS 模具标准直径,模具供应商编号,模具出厂编号 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) > 1 
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
WHERE a.模具出厂直径<>b.模具标准直径UPDATE 模具返修流程表 a
LEFT JOIN
(SELECT min(模具标准直径) AS 模具标准直径,模具供应商编号,模具出厂编号 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) > 1 
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
SET a.模具出厂直径=b.模具标准直径
WHERE a.模具出厂直径<>b.模具标准直径UPDATE 模具返修流程表
SET 模具出厂规格=CONCAT(模具出厂直径,'mm')SELECT 返修次数,模具出厂规格,模具出厂直径,模具标准规格,模具标准直径,模具规格,模具直径,平均直径 
FROM 模具返修流程表-- 更新返修次数
SELECT a.返修次数,b.返修次数 
FROM 模具返修流程表 a
LEFT JOIN
(SELECT 模具供应商编号,模具出厂编号,count(*) AS 返修次数 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
WHERE a.返修次数<>b.返修次数UPDATE 模具返修流程表 a
LEFT JOIN
(SELECT 模具供应商编号,模具出厂编号,count(*) AS 返修次数 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
SET a.返修次数=b.返修次数-1
WHERE a.返修次数<>b.返修次数-- 更新模具信息表 模具标准直径、模具直径、模具出厂直径、返修次数等字段
SELECT a.模具出厂规格,a.模具出厂直径,b.模具标准规格,b.模具标准直径 
FROM 模具信息表 a
LEFT JOIN
(SELECT 模具出厂规格,模具出厂直径,模具标准规格,模具标准直径,模具供应商编号,模具出厂编号 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号 HAVING COUNT(1) = 1
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
WHERE a.模具出厂直径<>b.模具标准直径SELECT a.模具出厂规格,a.模具出厂直径,b.模具标准直径 
FROM 模具信息表 a
LEFT JOIN
(SELECT min(模具标准直径) as 模具标准直径,模具供应商编号,模具出厂编号 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号  HAVING COUNT(1) > 1 
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
WHERE a.模具出厂直径<>b.模具标准直径UPDATE 模具信息表 a
LEFT JOIN
(SELECT min(模具标准直径) as 模具标准直径,模具供应商编号,模具出厂编号 FROM 模具返修流程表 GROUP BY 模具供应商编号,模具出厂编号  HAVING COUNT(1) > 1 
) b
ON a.模具供应商编号=b.模具供应商编号 AND a.模具出厂编号=b.模具出厂编号
SET a.模具出厂直径=b.模具标准直径
WHERE a.模具出厂直径<>b.模具标准直径UPDATE 模具信息表
SET 模具出厂规格=CONCAT(模具出厂直径,'mm')

三、用法总结

WITH CHECK OPTION(带有检查选项)表示对update、insert、delete操作时保证更新、插入或者删除满足视图定义中的谓词条件(即子查询中的条件表达式)。
使用WITH CHECK OPTION的视图,对于数据插入,不满足where条件的数据,插入失败,错误代码1369。具有一个检查的功能。

with check option保证了通过视图进行的修改,必须也能通过该视图看到修改后的结果。
修改的结目标和结果都只在视图上呈现,这样不会影响其他视图。
所以你插入,那么插入这条记录在刷新视图后必须可以看到;
如果修改,修改完的结果也必须能通过该视图看到;
如果删除,当然只能删除视图里有显示的记录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/17358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】STL——vector的模拟实现、常用构造函数、迭代器、运算符重载、扩容函数、增删查改

文章目录 1.模拟实现vector1.1构造函数1.2迭代器1.3运算符重载1.4扩容函数1.5增删查改 1.模拟实现vector vector使用文章 1.1构造函数 析构函数 在C中&#xff0c;vector是一个动态数组容器&#xff0c;可以根据需要自动调整大小。vector类提供了几个不同的构造函数来创建和初…

深度学习笔记-暂退法(Drop out)

背景 在机器学习的模型中&#xff0c;如果模型的参数太多&#xff0c;而训练样本又太少&#xff0c;训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题&#xff0c;过拟合具体表现在&#xff1a;模型在训练数据上损失函数较小&#xff0c;预…

【Python目标识别】Labelimg标记深度学习(YOLO)样本

人工智能、ai、深度学习已经火了很长一段时间了&#xff0c;但是还有很多小伙伴没有接触到这个行业&#xff0c;但大家应该多多少少听过&#xff0c;网上有些兼职就是拿电脑拉拉框、数据标注啥的&#xff0c;其实这就是在标记样本&#xff0c;供计算机去学习。所以今天跟大家分…

哈工大计算机网络课程网络安全基本原理之:身份认证

哈工大计算机网络课程网络安全基本原理之&#xff1a;身份认证 在日常生活中&#xff0c;在很多场景下我们都需要对当前身份做认证&#xff0c;比如使用密码、人脸识别、指纹识别等&#xff0c;这些都是身份认证的常用方式。本节介绍的身份认证&#xff0c;是在计算机网络安全…

分享一个 VUE 侧边导航共用组建

项目效果图&#xff1a; 项目描述&#xff1a;加载组建时&#xff0c;隐藏&#xff0c;鼠标滑动到指定区域的时候该菜单选中高亮&#xff0c;点击菜单跳转到指定模块&#xff0c;每个页面都适用。 html 部分&#xff1a; 提示&#xff1a;我这里有英文所以有$i18n.localezh…

用Rust生成Ant-Design Table Columns | 京东云技术团队

经常开发表格&#xff0c;是不是已经被手写Ant-Design Table的Columns整烦了&#xff1f; 尤其是ToB项目&#xff0c;表格经常动不动就几十列。每次照着后端给的接口文档一个个配置&#xff0c;太头疼了&#xff0c;主要是有时还会粘错就尴尬了。 那有没有办法能自动生成colu…

【CDC】跨时钟域处理方法总结一

文章目录 一、概述1.异步时序2.亚稳态与建立保持时间 二、跨时钟域处理1.控制信号的跨时钟域处理&#xff08;单bit数据&#xff09;a.慢时钟域到快时钟域b.快时钟域到慢时钟域握手“扩宽”快时钟域脉冲时钟停止法窄脉冲捕捉电路 2.数据信号的跨时钟域处理&#xff08;多bit数据…

Could not locate supplied template: react+ts搭建

1. reactts创建 我们在是用下create-react-app之前要下载一下 npm install create-react-app -g使用一下命令创建ts的react框架 create-react-app my-app --scripts-versionreact-scripts-ts 2. 遇见问题 我们用以上创建之后会提示一段代码选择“Y”之后发现我们创建的项目…

目标检测任务中常用的数据集格式(voc、coco、yolo)

一、Pascal VOC VOC数据集(Annotation的格式是xmI) Pascal VOC数据集是目标检测的常用的大规模数据集之一&#xff0c;从05年到12年都会举办比赛&#xff0c;比赛任务task&#xff1a; 分类Classification目标检测Object Detection语义分割Class Segmentation实例分割Object…

基于PHP校园疫情防控信息管理系统-计算机毕设 附源码12057

PHP校园疫情防控信息管理系统 摘 要 如今计算机行业的发展极为快速&#xff0c;搭载于计算机软件运行的数据库管理系统在各行各业得到了广泛的运用&#xff0c;其在数据管理方面具有的准确性和高效性为大中小企业的日常运营提供了巨大的帮助。自从2020年新冠疫情爆发以来&…

ES6及以上新特性

ES6&#xff08;ECMAScript 2015&#xff09;及以上版本引入了许多新特性&#xff0c;每个版本都有不同的增强和改进。以下是 ES6 及以上版本的新特性的详细描述&#xff1a; ES6&#xff08;ECMAScript 2015&#xff09;&#xff1a; let 和 const 声明&#xff1a;引入块级作…

【嵌入式学习笔记】嵌入式入门2——中断(外部中断)

1.什么是中断 打断CPU执行正常的程序&#xff0c;转而处理紧急程序&#xff0c;然后返回原暂停的程序继续运行&#xff0c;就叫中断 1.1.中断的作用与意义 作用1&#xff1a;实时控制在确定时间内对相应事件作出响应——定时器中断作用2&#xff1a;故障处理检测到故障&…

Makefile模板和工程模板(消息队列和共享内存)的使用

一、 Makefile模板 #指定生成的文件名 OJB_OUT test#指定每一个c文件对应的.o文件 OBJS a.o b.o main.o#指定编译器 CC gcc#指定需要的库 ULDFLAGS ########################################### #以下的内容不需要修改 ########################################### all:…

NASA和uAvionix在AAM测试场部署SkyLine C2指挥和控制服务

蒙大拿州比格福克和弗吉尼亚州汉普顿2023年07月28日——美国宇航局和uAvionix签署了一项太空法案协议&#xff0c;为城市环境中的无人机系统 (UAS)开发先进的超视距(BVLOS)指挥和控制(C2)技术。根据协议&#xff0c;NASA将与uAvionix合作&#xff0c;利用基于互联网的基础设施和…

(二)Spring WeFlux响应式编程第二种整合方案|道法术器

Spring WebFlux 响应式异步编程|道法术器(一) Spring WeFlux响应式编程整合另一种方案|道法术器(二) R2dbc操作mysql 注意下面红色部分与上一篇"Spring WebFlux 响应式异步编程|道法术器(一)" 不一样的依赖包 技术整合: <!--设置spring-boot依赖的版本 --> &l…

kafka部署

1.kafka安装部署 1.1 kafaka下载 https://archive.apache.org/dist/kafka/2.4.0/kafka_2.12-2.4.0.tgz Binary downloads是指预编译的软件包,可供直接下载和安装,无需手动编译。在计算机领域中,二进制下载通常指预构建的软件分发包,可以直接安装在系统上并使用 "2.…

麒麟-飞腾Kylin-V4桌面arm64系统静态编译QT

1.系统具体版本&#xff1a; 2. 因为此版本的源很老了&#xff0c;需要修改版本的源&#xff0c;才能正常更新各种软件&#xff0c;否则&#xff0c;你连麒麟商店都打不开。 sudo vi /etc/apt/sources.list 选择你系统对应版本的源地址&#xff1a; #4.0.2桌面版本: deb ht…

ModuleNotFoundError: No module named ‘_sqlite3‘

前言 遇到报错信息如下&#xff1a; ModuleNotFoundError: No module named _sqlite3解决方式 参考解决方式&#xff1a; https://blog.csdn.net/jaket5219999/article/details/53512071 find / -name _sqlite*.socp /usr/lib64/python3.6/lib-dynload/_sqlite3.cpython-36…

uniapp 路由跳转方式

export function goBack(index, url) {if (index 1) { // 关闭当前页&#xff0c;返回上一页面或多级页面。uni.navigateBack({delta: url,animationType: pop-out,animationDuration: 300});} else if (index 2) { // 保留当前页&#xff0c;跳转到非tabbar页面&#xff0c;…

vue拖拽改变宽度

1.封装组件ResizeBox.vue <template><div ref"resize" class"resize"><div ref"resizeHandle" class"handle-resize" /><slot /></div> </template> <script> export default {name: Resi…