dbms_output.put_line只显示pl/sql过程已完成不显示
时间: 2023-04-02 12:01:04 浏览: 252
结果,该怎么办?
您可以使用SELECT语句将结果存储在变量中,然后使用dbms_output.put_line显示该变量的值。例如:
DECLARE
result VARCHAR2(50);
BEGIN
SELECT column_name INTO result FROM table_name WHERE condition;
dbms_output.put_line(result);
END;
相关问题
declare sz1 number(5):=&请输入数字1; sz2 number(3):=&请输入数字2; begin dbms_output.put_line(sz1/sz2); exception when ZERO_DIVIDE then dbms_output.put_line('除法运算时分母为0!'); when VALUE_ERROR then dbms_output.put_line('数据超出规定范围!'); when others then dbms_output.put_line('其他异常!'); end;输入123456不会运行
这是因为在 PL/SQL 中,使用 `&` 符号来提示用户输入值时,需要将其包含在双引号中,例如:
```
DECLARE
sz1 NUMBER(5):="&请输入数字1";
sz2 NUMBER(3):="&请输入数字2";
BEGIN
DBMS_OUTPUT.PUT_LINE(sz1/sz2);
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('除法运算时分母为0!');
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE('数据超出规定范围!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('其他异常!');
END;
```
在这个例子中,输入 `123456` 是可以正常运行的。
CREATE OR REPLACE PACKAGE my_package AS PROCEDURE my_procedure; END my_package; / CREATE OR REPLACE PACKAGE BODY my_package AS PROCEDURE my_procedure AS BEGIN DBMS_OUTPUT.ENABLE; DBMS_OUTPUT.PUT_LINE('Hello, World!'); END; END my_package; /这个代码,DBMS_OUTPUT.PUT_LINE没有值,plsql12
您在 PL/SQL Developer 12 中运行这段代码时,可能会出现 `DBMS_OUTPUT.PUT_LINE` 没有输出的情况,这是因为 PL/SQL Developer 默认只显示最后一次执行的 SQL 语句的输出结果,而不是所有的输出结果。
要查看 `DBMS_OUTPUT.PUT_LINE` 输出的值,请尝试以下步骤:
1. 点击工具栏中的“调试”按钮,进入调试模式。
2. 在“调试”窗口中,选择“输出”标签页。
3. 点击“启用输出”按钮,以确保输出窗口已经开启。
4. 在“调试”窗口中,选择“变量”标签页。
5. 找到您的存储过程 `my_procedure`,并将其添加到监视列表中。
6. 执行存储过程,等待存储过程执行完毕。
7. 在“输出”窗口中,可以看到存储过程中使用 `DBMS_OUTPUT.PUT_LINE` 输出的文本。
另外,您也可以在客户端中通过以下语句启用输出:
```
SET SERVEROUTPUT ON;
```
这样可以在客户端中显示 `DBMS_OUTPUT.PUT_LINE` 输出的文本。
阅读全文