📜  简单的 plsql 程序在 oracle sql developer 中运行但出现错误 - SQL (1)

📅  最后修改于: 2023-12-03 15:41:08.983000             🧑  作者: Mango

简单的 PL/SQL 程序在 Oracle SQL Developer 中运行但出现错误

最近我在开发过程中遇到了一个问题,我写了一个简单的 PL/SQL 程序,在 Oracle SQL Developer 中运行时出现了错误。我使用了以下代码:

DECLARE
  v_num1 NUMBER := 5;
  v_num2 NUMBER := 3;
BEGIN
  IF v_num1 > v_num2 THEN
    DBMS_OUTPUT.PUT_LINE('Number 1 is greater than number 2');
  ELSE
    DBMS_OUTPUT.PUT_LINE('Number 2 is greater than number 1');
  END IF;
END;

但是,当我运行该代码时,我得到了以下错误信息:

Error report -
ORA-06550: line 7, column 3:
PLS-00201: identifier 'DBMS_OUTPUT.PUT_LINE' must be declared
ORA-06550: line 7, column 3:
PL/SQL: Statement ignored

我知道这是因为我没有在程序中声明 DBMS_OUTPUT,因此可以通过在程序开头添加以下代码来修复错误:

SET SERVEROUTPUT ON;

这将启用 SQL Developer 中的 DBMS_OUTPUT 功能,并使该程序可以在没有错误的情况下运行。

在我的例子中,程序的输出如下所示:

Number 1 is greater than number 2

如果您也遇到类似的问题,请记住,在运行 PL/SQL 程序之前,确保启用了 DBMS_OUTPUT 功能。

总结

在 Oracle SQL Developer 中编写和运行 PL/SQL 程序时,可能遇到各种错误。本文介绍了一个常见的错误,即在程序中使用 DBMS_OUTPUT 时出现的错误。如果您在编写 PL/SQL 程序时遇到类似的问题,请添加 SET SERVEROUTPUT ON 到程序开头,这将启用 DBMS_OUTPUT 功能,并使程序可以在没有错误的情况下运行。