2016-12-02 1 views
-1
CREATE OR REPLACE FUNCTION totalPatients 
RETURN number IS 
    total number(2) := 0; 
BEGIN 
    SELECT count(*) into total 
    FROM patient; 

    RETURN total; 
END; 

DECLARE 
    c number(2); 
BEGIN 
    c := totalPatients(); 
    dbms_output.put_line('Total no. of Patients: ' || c); 
END; 


Error(11,1): PLS-00103: Encountered the symbol "DECLARE" 
+0

Mögliches Duplikat von [oracle-Paket gefunden gefunden PLS-00103: Das Symbol "CREATE" wurde gefunden] (http://stackoverflow.com/questions/9231788/create-oracle-package-encountered-pls-00103-encountered-the -symbol-create) – user272735

+0

Diese Frage hat nichts mit ['error-handling'] zu tun (http://stackoverflow.com/tags/error-handling/info). Es geht darum, wie Sie die Werkzeuge verwenden, die Sie haben, in diesem Fall, um ein Skript zu schreiben, das zwei Dinge tut. –

Antwort

2

hinzufügen slash / selbst (in einer separaten Zeile) nach der Definition der Funktion und nach dem anonymen Block. Alles andere sollte funktionieren.

+0

es funktioniert immer noch nicht –

+2

@AasthaGhai - Sie wissen besser als das. "Immer noch nicht funktioniert" ist nicht genug Information. Gibt es denselben Fehler? Ein anderer? Wenn ein anderer, was? – mathguy

+2

@AasthaGhai - um expliziter zu sein: Ich habe ** genau ** Ihren Code versucht, ich habe nur die Tabellen- und Spaltennamen geändert, da ich Ihre Tabellen nicht habe (ich habe eine Employees-Tabelle aus einem Standardschema verwendet); Die einzige Änderung, die ich vornehmen musste, war das Hinzufügen der Schrägstriche, die kompilierte Funktion OK, die kompilierte Prozedur OK und die korrekte Anzahl der Mitarbeiter. Also "es funktioniert immer noch nicht" ist nicht sehr hilfreich. – mathguy

Verwandte Themen