如何显示IF/END IF条件块中的dbms_output.put_line输出内容
解决PL/SQL输出指定内容的问题
你的代码逻辑本身是正确的,只要输入y就能得到预期的USER_INPUT is: y输出。需要注意以下细节确保输出正常:
- 代码开头的
SET SERVEROUTPUT ON;已经正确开启服务器输出,无需额外设置。 - 输入时直接输入小写
y(不要加引号或空格),因为代码里的判断条件是大小写敏感的user_input = 'y'。如果需要支持大写Y,可以修改判断逻辑为UPPER(user_input) = 'Y'。
可选优化后的代码(支持大小写输入)
SET SERVEROUTPUT ON; accept x char prompt 'Please enter y/n' DECLARE user_input VARCHAR2(10); BEGIN user_input := '&x'; -- 兼容y/Y两种输入 IF UPPER(user_input) = 'Y' THEN dbms_output.put_line('USER_INPUT is: ' || user_input); END IF; dbms_output.put_line('excluded accounts as of now:- 123,1234'); END; /
执行效果
- 运行代码后,在提示
Please enter y/n时输入y并回车。 - 服务器输出将显示:
USER_INPUT is: y excluded accounts as of now:- 123,1234
若输入n,则只会显示第二行内容。
内容的提问来源于stack exchange,提问作者PCM
相关产品推荐
相关产品推荐

