PL/SQL 过程编译错误

Posted

技术标签:

【中文标题】PL/SQL 过程编译错误【英文标题】:PL/SQL Procedure compiled with errors 【发布时间】:2017-11-29 18:24:48 【问题描述】:

我是 PL/SQL 的新手。这是我执行的块:

SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE DoctorandNurse (id number, name varchar2, dno number, timings varchar2, contact number, gender char, email varchar2, salary number, doj date, post varchar2) AS
salary_exception EXCEPTION;
BEGIN
IF salary >= 2500000 THEN raise salary_exception;
ELSE
insert into Doctor_Nurse values(id,name,dno,timings,contact,gender,email,salary,doj,post);
END IF;
EXCEPTION
WHEN salary_exception THEN DMS_OUTPUT.PUT_LINE('Salary should be less than or equal to Rs. 25,00,000.');
END;

编译器报告创建过程时出现编译错误。究竟是什么错误。如果需要,请询问更多信息。

【问题讨论】:

请发出命令show errors,并提供结果。 这是我之前所说的错误:过程创建时出现编译错误。不多也不少。 【参考方案1】:

如果您使用的是 SQL*Plus,则可以使用以下方法:

SQL> sho err

不确定其他客户端,但大多数应该支持这种语法。

【讨论】:

我看到错误后就解决了这个问题。该错误是语法错误。 DBMS._OUTPUT.PUT_LINE。我错过了 B。

以上是关于PL/SQL 过程编译错误的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL: SQL 语句被忽略 - 创建一个过程得到编译错误

过程创建时出现编译错误 PL/SQL: ORA-00947: not enough values

PL/SQL 包编译错误:PLS-00323

编译过程时出现oracle错误

如何摆脱 PL/SQL 程序中的编译错误?

Oracle 终止会话过程