1 oracle plsql if-statement sqlplus conditional-statements
这是一个简单的sql语句,用于根据输入的选项打印2个不同的问题.我注意到即使else或if条件不正确,两个语句都会运行.打印的输出是正确的但如果语句不为真,我不需要替换变量来提示用户输入.
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;
Run Code Online (Sandbox Code Playgroud)
类似&Please_Enter_Choice的替换变量在预处理步骤中被替换,该步骤在运行实际代码之前(在服务器上)获取p!ace(在客户端上).还请记住,对这些变量的支持是前端工具的一个特性(例如sql*plus),而数据库甚至不知道它们曾经存在过.结论:您不能制作这样的交互式PL/SQL脚本.