2016-05-02 6 views
-2

zurückgibt Ich möchte eine einfache Prozedur schreiben, die einen booleschen Wert zurückgibt. Ich habe eine Prozedur wie folgt geschrieben:Einfache Oracle-Prozedur, die boolean

CREATE OR REPLACE PROCEDURE procOneINOUTParameter() 
return boolean 
IS 
BEGIN 

    return true; 

END; 

Aber das Ausführen dieses Skripts gibt mir den folgenden Fehler.

PLS-00103: Encountered the symbol ")" when expecting one of the following: 

    <an identifier> <a double-quoted delimited-identifier> 
    current delete exists prior 

Wie kann ich diesen Fehler beheben?

+0

Die PL/SQL-Syntax erkennt '()' nicht. Wenn Sie keine Parameter haben, lassen Sie einfach die Klammern weg. – APC

Antwort

0

Eine Prozedur hat keinen Rückgabewert; Nur eine Funktion kann einen Rückgabewert haben. Sie versuchen, eine Prozedur zu erstellen, die einen Wert zurückgibt, der der Idee der Prozedur entgegengesetzt ist; Wenn Sie einen Rückgabewert von einer Prozedur benötigen, verwenden Sie die OUT-Parameter.

CREATE OR REPLACE function procOneINOUTParameter 
return boolean 
IS 
BEGIN 

    return true; 

END;