写点什么

实物资产卡片多数量拆分流程整理 2021.01.06

用户头像
Flychen
关注
发布于: 2021 年 01 月 06 日

主要涉及知识点:

Oracle 查询语句,

Oralce 插入语句,

通过变量、for 循环方式批量插入语句,

Oracle 删除语句;


1、查询待拆分数据要唯一


select * from INVENTORY_FA_CARD  where (GL_CODE= '00001090' or ORGCODE = '00001090') and   TYPECODE in ('0104','1902')and QTY = 42
复制代码


2、复制待拆分数据


--where后可修改为 id或 fa_code 唯一值 进行过滤,
复制代码


insert into INVENTORY_FA_CARD select * from INVENTORY_FA_CARD  where (GL_CODE= '00001090' or ORGCODE = '00001090') and   TYPECODE in ('0104','1902')and QTY = 42
复制代码


3、修改新复制的数据,


--重点关注 数量、金额 相关字段
复制代码


--一次更新多字段--
复制代码


update INVENTORY_FA_CARD set qty =1,ORIVAL =216.81 where id in ('236162')
复制代码


4、根据修改的单数量数据进行插入测试


--插入
复制代码


--id,fa_code,表设置了触发器,值会重新生成。
复制代码


insert into INVENTORY_FA_CARD  select * from INVENTORY_FA_CARD  where id ='236162'
复制代码


--查询验证,是否新插入成功
复制代码


select * from INVENTORY_FA_CARD  where (GL_CODE= '00001090' or ORGCODE = '00001090') and   TYPECODE in ('1902')
复制代码


and QTY = 1
复制代码


5、通过循环批量插入


declare
复制代码


      i number :=1;
复制代码


begin
复制代码


     for i in 1..10 loop
复制代码


        --插入唯一正确值---
复制代码


        insert into INVENTORY_FA_CARD  select * from INVENTORY_FA_CARD  where id ='236164';    
复制代码


      end loop;
复制代码


--查询验证,是否新插入成功
复制代码


select * from INVENTORY_FA_CARD  where (GL_CODE= '00001090' or ORGCODE = '00001090') and   TYPECODE in ('1902')
复制代码


and QTY = 1
复制代码

6、删除拆分前数据


delete from INVENTORY_FA_CARD where id ='31679';     
复制代码


备注:Typora 写入后,粘贴进来,代码块就自动按行拆分了。这点体验不如微信公众号。

用户头像

Flychen

关注

日拱一卒! 2020.02.21 加入

还未添加个人简介

评论

发布
暂无评论
实物资产卡片多数量拆分流程整理2021.01.06