1
這是一個簡單的sql語句,用於根據輸入的選項打印2個不同的問題。我注意到,即使else或條件不成立,兩個語句都會運行。打印的輸出是正確的,但如果語句不正確,我不需要替換變量來提示用戶輸入。IF即使條件從未如此也執行ELSE條件
SET SERVEROUTPUT ON;
DECLARE
choice number(2) := '&Please_Enter_Choice';
question varchar2(50);
BEGIN
if choice = 1 then
question := '&Whats_your_name?';
else
if choice = 2 then
question := '&How_old_are_you?';
end if;
end if;
DBMS_OUTPUT.PUT_LINE(question);
END;
sqlplus提示所有的替換變量在代碼塊甚至運行之前 – thatjeffsmith
我並不是想在這裏過於暴躁,但是如果執行一條IF語句,那麼你已經做了一些事情來讓電腦認爲它是真的。你需要弄清楚什麼步驟會無意中將'TRUE'結果返回給你的IF語句。 – SandPiper