警告:使用编译错误创建的过程

时间:2013-05-29 09:28:18

标签: plsql procedure

我无法编译。我不知道是什么问题。请帮助。

    CREATE OR REPLACE PROCEDURE VERIFY

    IS 
    LNO DRIVER.L#%TYPE;

    BEGIN
       SELECT L# INTO LNO
       FROM ADMIN JOIN DRIVER 
       ON ADMIN.E# = DRIVER.E#(+);

       IF LNO != NULL THEN
             DBMS_OUTPUT.PUT_LINE("NOT NULL");
       END IF;

    COMMIT;

    END VERIFY;

2 个答案:

答案 0 :(得分:3)

(+)无法在ON的{​​{1}}部分中使用。

JOIN部分中使用它:

WHERE

或使用SELECT L# INTO LNO FROM ADMIN, DRIVER WHERE ADMIN.E# = DRIVER.E#(+);

LEFT [OUTER] JOIN

此处有更多信息:http://docs.oracle.com/cd/B19306_01/server.102/b14200/queries006.htm#sthref3175

答案 1 :(得分:1)

试试这个:

DBMS_OUTPUT.PUT_LINE('NOT NULL');

而不是

DBMS_OUTPUT.PUT_LINE("NOT NULL");

(即单引号)