PL / SQL如何获取用户输入

时间:2018-10-01 23:28:18

标签: sql oracle plsql

我想询问用户输入并将输入存储在变量中。当我运行以下命令时,它会提示“输入v_degree的值:”,然后提示“输入v_num的值”,当我要使用我提供的两行代码时:“输入温度的输入刻度(C或F) :”和“输入要转换的温度值:”

DECLARE
    v_degree VARCHAR2(1);
    v_num VARCHAR2(3);
BEGIN
    DBMS_OUTPUT.PUT_LINE('Enter your input scale (C or F) for temperature:', &v_degree);
    DBMS_OUTPUT.PUT_LINE('Enter your temperature value to be converted:', &v_num);
END;
/

2 个答案:

答案 0 :(得分:3)

PL / SQL是服务器端语言,因此没有提供直接与用户交互的功能。有几种选择:

  1. 如果您使用SQLPlus作为客户端,则可以使用SQLPlus提供的命令(例如ACCEPT)来获取用户输入。
  2. Oracle提供了UTL_FILE软件包,该软件包可用于从文件中读取数据,但有一些限制。
  3. Oracle还提供了“外部表”,这是一种读取文件并使它在数据库中显示为表的方式。

好运。

答案 1 :(得分:0)

尝试一下:

DECLARE
v_degree VARCHAR2(1) DEFAULT :in_degree;
v_num VARCHAR2(3) DEFAULT :in_num;
BEGIN
    DBMS_OUTPUT.PUT_LINE('You entered input scale (C or F) for temperature: '||v_degree);
    DBMS_OUTPUT.PUT_LINE('You entered temperature value to be converted: '||v_num);
END;

祝你好运