问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么样 用Oracle的存储过程 对A表数据按照B数据进行分摊

发布网友 发布时间:2022-04-10 16:00

我来回答

1个回答

热心网友 时间:2022-04-10 17:30

你好!

使用存储过程有点多此一举,你理解一下我下面的SQL:

WITH T AS (
          SELECT 'A1' AS INV,1 ODR,  43 amt FROM DUAL
UNION ALL SELECT 'A1' AS INV,2 ODR,  44 amt FROM DUAL
UNION ALL SELECT 'A1' AS INV,3 ODR,  45 amt FROM DUAL
UNION ALL SELECT 'A2' AS INV,1 ODR,  60 amt FROM DUAL
UNION ALL SELECT 'A2' AS INV,2 ODR,  66 amt FROM DUAL
UNION ALL SELECT 'A3' AS INV,1 ODR,  11 amt FROM DUAL
UNION ALL SELECT 'A3' AS INV,2 ODR,  22 amt FROM DUAL
),
t1 AS (
SELECT 'A1' ISV,100 MNT FROM DUAL UNION ALL
SELECT 'A2' ISV,150 MNT FROM DUAL UNION ALL
SELECT 'A3' ISV,30 MNT FROM DUAL
)
SELECT inv,odr,CASE WHEN amt_sum <= mnt THEN amt
                    ELSE amt-(amt_sum-mnt) END mnt  FROM (
SELECT T.*, SUM(AMT) OVER(PARTITION BY INV ORDER BY ODR) AMT_SUM, T1.MNT
  FROM T, T1
 WHERE T.INV = T1.ISV)

望采纳!

怎么样 用Oracle的存储过程 对A表数据按照B数据进行分摊

使用存储过程有点多此一举,你理解一下我下面的SQL:WITH T AS ( SELECT 'A1' AS INV,1 ODR, 43 amt FROM DUALUNION ALL SELECT 'A1' AS INV,2 ODR, 44 amt FROM DUALUNION ALL SELECT 'A1' AS INV,3 ODR, 45 amt FROM DUALUNION ALL SELECT 'A2' AS INV,1 ODR, 60 ...

非结构化数据如何可视化呈现?

通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...

oracle中将A表中的数据插到B表中,若B表中存在该数据则不插入,存储过程...

END INSERTTABLEDATA; 如果不在同一个数据库 那么建立一个DATABASE LINK就行了create database link ATOB connect to 数据库A的用户名 identified by 密码 using '数据库服务名'; INSERT INTO B(CJRQ,RYBH,RYXM,RZRQ,ZJBH)SELECT CJRQ,RYBH,RYXM,RZRQ,ZJBH FROM 用户名.A@ATOB;

Oracle数据表中,如何将某条记录按某数据(数量)的不定比列分割成N条记录...

oracle存储过程很长时间没用过了,只能提些建议了 打开游标,选出符合条件的记录,譬如数量&gt;200 游标循环 死循环 创建1到200的随机数,存入变量 插入一条新记录,no、name与游标当前记录相同,数量为随机数 判断当前记录的数量-变量是否小于指定数,若是则更新当前记录的数量为当前记录数量-变量,并退出...

在oracle中,若想要A表中的数据一旦更新就将该条数据原数据放入B表中备...

或者用程序实现,当你的程序更新数据前,先备份要修改的a表数据。可以把备份的代码做成存储过程,供不同程序调用。但总不及触发器简单

oracle 如何在一个表中取A列最大的那条记录,如果A列等于最大值同时有...

或者存储过程。select max(A) from table_name; ---取A列最大的记录,譬如说=100;select count(A) as countA from table_name where A=100;---取等于最大值的有多少条数据;然后做判断 if countA =1 ---按照你的具体做法实现SQL else select max(B) from table_name;fi ...

oracle中,如果a表跟b表关联查询的问题

1、数据准备:--创建A表 CREATE TABLE qh_a (filed1 Varchar2(3),filed2 CHAR(1));--创建B表 CREATE TABLE qh_b (filed1 CHAR(1),filed2 VARCHAR(3));--初始化A表与B表的数据。INSERT INTO qh_a VALUES('001','x');INSERT INTO qh_a VALUES('002','y');INSERT INTO qh_b ...

oracle遇到个问题,我要写一个存储过程,要求吧A表中的奇熟列插到B表中...

insert into b select * from a where mod(rowno,2) =1;sql一句就可以了,不用存储过程。

oracle存储过程提问:oracle 用存储过程将某一表里符合条件的数据查出...

先把表创建起来,然后用insert语句插入。create or replace procedure P_Insert(v_date in varchar2,v_cp varchar2) is begin INSERT INTO ora201301 SELECT * FROM bh WHERE 字段名1 BETWEEN v_date||'/01' AND v_date||'/31' AND 字段名2=v_cp;COMMIT;end P_Insert;...

Oracle中怎样用存储过程将一段字符串以逗号为界截取,并将得到的子串存...

--通过游标遍历调用方法拆取存表:--方法 create or replace function f_test_substr(prm1 varchar2, --地prm2 varchar2 , --名称prm3 varchar2, --IPprm4 varchar2 --结果)return varchar2asv_n int:=0; --第几次取v_l int; --:截取次数v_s varchar2(2000); --...

oracle能否用一个存储过程,做到先创表a,再向a插数据,再通过a生成表b...

1、存储过程中的内容都是顺序执行的,不会存在你说的a还没有创号,就执行其他sql的情况,你是结合你的实际业务来描述可能出现的情况吧 2、你需求的存储过程如下 create or replace procedure prc_test as begin -- 创建表 execute immediate 'create table a (col1)';-- 向表中插入数据 execute ...

oracle存储过程删除表数据 oracle存储过程查询表中数据 oracle存储过程用到的表 怎么查询存储过程用到的表 oracle存储过程用到了哪些表 oracle查询存储过程关联的表 存储过程暂存表数据 数据库表的存储过程 sql存储过程修改表中数据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
穷人最快的挣钱方法有哪些 ...下雨了。即兴做的一首诗是什么?把题目、诗句写出来。谢谢 这一单元,我们跟随诗人漫步诗海,现在是不是诗兴大发,也想即兴创作... 给于勒写一首小诗!急求!!! 王者荣耀传说之刃花木兰和曹操那个厉害 凸透镜成像实验怎么做 凸透镜成像有什么规律 玩英雄联盟的时候电脑叫鼠标键盘都不收控制是什么情况 下列各项不属于初始地籍调查后应归档的成果资料的是( )。 地籍测量的基本流程 可莉的好朋友叫什么名字? 关于自考00018/19计算机应用基础考些什么 花呗分期账单里显示有一笔自动还款,但本月应还里没减是怎么回事? 全国2012年1月高等教育自学考试计算机应用基础答案(00018) 哪里有? 华为 Mete20pro 与华为p30pro 手感以及各方面各位觉得哪款更值得入手~ 谁有自学考试计算机应用基础2008年1月和4月的试题? 紧急求助:哪里有全国高等教育自学考试计算机应用基础(00018)2010年4月自考试题与答案? 全国2010年10月高等教育自学考试计算机应用基础试题 课程代码 00018 ch01-2016-1 计算机应用基础00018 真题解析 视频讲解 卓顶精文全国自考2018年10月00018计算机应用基础历年试题(含答案) 打印机墨水沾到手了,怎么才洗的掉啊? 饿了么商家 干粉灭火器灭火的操作要点是什么 写出从准备到灭火到收尾的各个步骤 QQ邮箱怎么才能在QQ上显示出来 有没有主角是一条龙的小说 求gl小说,女主是条龙,因为什么事变成了蛇被另一个从小受到诅咒的女主捡了回去,而且只有女主能和那个 修真小说女主刚开始是一条挺自私的龙 穿越小说,女主是条龙,男主有七八个,死后女主一世一世的去找 记得,但是密码忘了,里面还有钱不知道怎么办? 主角抽到过妖星计都,弃天帝,吕布,独孤求败卡牌的小说,女主好像还是条龙? 求一部快穿小说,女主是条龙? 苹果手机如何修改? 苹果可以修改,一年可以改几次? 苹果手机怎么改不了 苹果手机改不了? 苹果手机怎么改 苹果ipad为什么改不了? 苹果手机如何修改 ios微信怎么改 苹果手机怎么改? ios微信怎么改 iOS版 怎么修改啊 急急急 苹果手机微信怎么改 能不能改第二次怎么改,苹果版 苹果更改在哪里更改 苹果手机怎么改? 苹果手机怎么改 ETC是全国通行吗:收费一样吗 苹果如何修改 苹果手机怎样修改 苹果手机如何改壁纸