【发布时间】:2017-11-10 13:20:26
【问题描述】:
无法在 pl/sql 中创建任何过程/函数。总是创建带有编译错误的过程。最后尝试以下代码
SQL> CREATE OR REPLACE PROCEDURE REPORT(NAME VARCHAR2, VERSION VARCHAR2,
2 STARTDATE DATE, ENDDATE DATE) AS
3 BEGIN
4 END REPORT;
5 /
Warning: Procedure created with compilation errors.
SQL> show error procedure report;
Errors for PROCEDURE REPORT:
LINE/COL ERROR
-------- -----------------------------------------------------------------
4/2 PLS-00103: Encountered the symbol "END" when expecting one of the
following:
begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe
功能
CREATE OR REPLACE FUNCTION GETEMPSALARY (EMPNUMBER IN INTEGER) RETURN INTEGER
IS
DECLARE
EMPSALARY INTEGER;
BEGIN
SELECT SAL INTO EMPSALARY FROM EMP WHERE EMP.EMPNO = EMPNUMBER;
RETURN EMPSALARY;
END GETEMPSALARY;
/
有什么建议吗?
【问题讨论】:
-
顺便说一句 - 您的程序正在创建中。在您修复错误之前,它无法执行。
-
你能找出错误在哪里吗?在程序中发现了错误,但是函数呢
-
在你的函数中取出 DECLARE
标签: oracle stored-procedures plsql procedure plsqldeveloper