我是這個論壇和oracle pl/sql的新手。自從前幾天我一直在做一些pl/sql任務。其中一項任務是更新修訂金額列中的金額值。我正在使用遊標方法執行此任務。使用日期名稱值的更新表 - Oracle pl/sql
我需要+10(星期一)+20(星期二)..等更新修訂後的金額列的值..
我面臨更新修訂後的量的問題。
請檢查下面的代碼。
create or replace procedure team2
as
cursor c1 is select amount, day_name from football;
v_amount football.amount%type;
v_day football.day_name%type;
begin
if c1%isopen then
close c1;
end if;
open c1;
loop
fetch c1 into v_amount, v_day;
exit when c1%notfound;
if v_day = 'monday' then
update football set revised_amount = v_amount+10 where day_name = v_day ;
elsif v_day = 'tuesday' then
update football set revised_amount = amount+30 where day_name = v_day ;
elsif v_day = 'wednesday' then
update football set revised_amount = amount+40 where day_name = v_day ;
elsif v_day = 'thursday' then
update football set revised_amount = amount+50 where day_name = v_day ;
elsif v_day = 'friday' then
update football set revised_amount = amount+60 where day_name = v_day ;
elsif v_day = 'saturday' then
update football set revised_amount = amount+70 where day_name = v_day ;
elsif v_day = 'sunday' then
update football set revised_amount = amount+80 where day_name = v_day ;
else
dbms_output.put_line(' output failed');
end if;
end loop;
close c1;
End;
/
歡迎來到Stackoverflow。請花點時間閱讀幫助中心關於在本網站上提問的指南。另外,請點擊問題下方的「編輯」按鈕,並使用工具欄中的「代碼」按鈕將代碼格式化爲代碼塊,然後刪除空行並正確顯示,以便人們可以閱讀它。 –
你還沒有告訴我們你有什麼問題。顯示錶格結構和數據通常也很有用。大概這是一個任務,你故意以一種冗長的方式來做這件事,因爲它可以簡單地沒有PL/SQL? –