1
嗨,這是我的第一篇文章,很抱歉,如果這已被問到。我試圖創建一個程序,將增加存款賬戶(針對特定銀行)的利息,並將屏幕上的客戶名稱和新的存款賬戶餘額輸出到屏幕上。但是,我似乎無法使其工作。使用顯式光標的SQL過程
CREATE OR REPLACE PROCEDURE addInterestNew(bank VARCHAR, interestRate INT out) AS
CURSOR CustomerBalance IS
SELECT customerName, balance
FROM Deposit
WHERE branchName = bank;
aCustomerName Deposit.customerName%TYPE;
newBalance Deposit.balance%TYPE
BEGIN
UPDATE DEPOSIT
SET balance = balance * (1 + (interestRate/100))
WHERE branchName = bank;
FETCH
OPEN CustomerBalance;
LOOP
FETCH CustomerBalance into aCustomerName,newbalance;
EXIT WHEN CustomerBalance%notfound;
dbms_output.put_line('CustomerName='||aCustomerName ||'balance='||newBalance);
END LOOP;
CLOSE CustomerBalance;
END;
/
任何幫助是讚賞
感謝
你使用什麼數據庫?它以什麼方式工作,出現錯誤信息還是意外結果?另外爲什麼利率參數在它之後有「出」?似乎它應該是一個簡單的唯一參數。 – nickebbitt
請詳細說明你在哪一行發生了什麼錯誤,或者爲什麼你的結果不正確 – LINQ2Vodka
這是Oracle(我喜歡它的%TYPE) – LINQ2Vodka