Wenn Sie kümmern sich um Tisch EMP
, können Sie es in der Funktion verwendet werden soll.
Ich würde schreiben dies als:
CREATE OR REPLACE FUNCTION count_emp (
in_e_name varchar2
)
RETURN integer IS
v_total integer;
BEGIN
SELECT COUNT(*) into v_total
FROM EMP e
WHERE e.ENAME = in_e_name;
RETURN v_total;
END;
Hinweise:
- Oracle Funktionen kompilieren und gespeicherte Prozeduren, auch wenn die Objekte nicht (noch) nicht vorhanden sind. Dies wird als "Merkmal" angesehen.
- Verwenden Sie Namenskonventionen, um Parameter und Variablen von Spalten zu unterscheiden. Dies verwendet
in_
für die Eingangsparameter und v_
für die lokalen Variablen.
- Qualifizieren Sie alle Spaltennamenreferenzen. Dies verringert die Wahrscheinlichkeit einer Kollision zwischen einer Variablen und einem Spaltennamen weiter.
- Sie brauchen keine Länge für
varchar2()
Eingänge (was zu varchar()
vorzuziehen ist, obwohl vielleicht eines Tages, Oracle wird den Standard zu hüllen).
danke sir! Arbeiten –