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');
INSERT INTO TESTED.MONTH_SPEND VALUES(200,'出行','','2019-10');
INSERT INTO TESTED.MONTH_SPEND VALUES(5000,'旅游',''

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

被折叠的 条评论
为什么被折叠?



