Re: [SQL ] SQL条件相加指令

楼主: sonesnsdsosi (FOREVERSONE)   2015-02-13 09:09:03
你好,我有想到用procedure 的方法
首先 我在你的表格建立PK id 方便后续操作
语法如下:
create or replace procedure pro01
is
i number;
j number;
begin
select max(id) into i from yourtable;
select min(id) into j from yourtable;
LOOP
exit when i<j;
update yourtable set results=(select sum(value) from
yourtable where id<i) where id=i;
i:=i-1;
END LOOP;
建立procedure后 每当你有更新value
就执行
execute pro01;
就会帮你更新
但如果你想要完全自动更新,可能就要搭配trigger+procedure了(有尝试这样做,
但一直失败)
小弟浅见
end;※ 引述《lunenknight (BlackMilk)》之铭言:
: 内容/问题描述:SQL语法问题
: 假设我有一个资料表如下
: Date Value "Results"
: 05/01/01 300 300
: 05/01/02 200 500
: 05/01/03 -100 400
: 05/01/04 -200 200
: 05/01/05 500 700
: . . .
: . . .
: . . .
: 我要如何取results值 永远是自己日期以前的value相加
: 因为需要可以从中间直接更新value值 例如: 将05/01/03 的value更新为 -200
: 之后的results值 要依序更新为 300 100 600
: 请问要如何下手...
楼主: sonesnsdsosi (FOREVERSONE)   2015-02-13 09:55:00
因为看到你的日期都是递增的 所以想到用max min方法

Links booklink

Contact Us: admin [ a t ] ucptt.com