Oracle使用同一列数据计算并更新到另外一列

本文介绍如何在Oracle数据库中,利用同一列的数据进行计算,并将计算结果更新到另一列。通过举例说明,展示如何对19年10月的开销记录进行自关联操作,计算每项支出占总开销的比例,然后使用MERGE INTO语句将这些比例更新到表的PROPORTION字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle使用同一列数据计算并更新到另外一列

例如,我有一张表记录每月开销,建表语句如下

DROP TABLE TESTED.MONTH_SPEND CASCADE CONSTRAINTS;

CREATE TABLE TESTED.MONTH_SPEND(

    AMT NUMBER,
    S_TYPE VARCHAR2(100 CHAR),
    PROPORTION VARCHAR2 (20 CHAR),
    S_MONTH VARCHAR2(17 CHAR)
    

);

COMMENT ON TABLE TESTED.MONTH_SPEND IS '每月开销记录表';

COMMENT ON COLUMN TESTED.MONTH_SPEND.AMT IS '开销金额(元)';

COMMENT ON COLUMN TESTED.MONTH_SPEND.S_TYPE IS '支出类型';

COMMENT ON COLUMN TESTED.MONTH_SPEND.PROPORTION IS '开销占比';

COMMENT ON COLUMN TESTED.MONTH_SPEND.S_MONTH IS '支出月份';

19年10月开销花费数据记录

--清除已有数据
DELETE FROM TESTED.MONTH_SPEND  WHERE S_MONTH = '2019-10';
COMMIT;
--添加新数据
INSERT INTO TESTED.MONTH_SPEND VALUES(2000,'吃饭','','2019-10');
INSERT INTO TESTED.MONTH_SPEND VALUES(1000,'买衣服','','2019-10')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值