簡體   English   中英

PL/SQL 嵌套 IF 語句

[英]PL/SQL nested IF statements

運行代碼后,我遇到了很多錯誤。 該問題要求顯示為余額 > 100 的人提供的折扣,如果該人擁有名為 BCBS 的保險,他/她將獲得 10% 的折扣。 如果他/她有名為 SIH 的保險,他/她將獲得 20% 的折扣。 對於余額> 100但未參加上述兩種保險的人,他/她將獲得5%的折扣。 對於余額<100的人,他們需要按原樣支付余額。 該問題還要求患者寫下他/她的患者 ID。

accept ptid prompt 'Enter your patieint ID:'
begin
declare
pt_id number;
balance number;
pt_ins varchar2 (11);
amount number;

pt_id := &ptid;
select balance,pt_ins from billing;

if 
balance < 100;
begin
dbms_output.put_line('You need to pay RM '||balance);
end;

else
begin 

if pt_ins = 'BCBS'
begin 
amount := 0.9 * balance;
dbms_output.put_line('You need to pay RM '||amount);
end;

elsif pt_ins := 'SIH'
begin
amount := 0.8 * balance;
dbms_output.put_line('You need to pay RM '||amount);
end;

else
begin
amount := 0.95 * balance;
dbms_output.put_line('You need to pay RM '||amount);
end;

end;

end;

您必須使用 'then': if (balance<100) then dbms_output...條件后面不應該有分號 您過去需要在條件周圍加上括號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM