Unterschied zwischen gespeichertem Verfahren und Funktion

Unterschied zwischen gespeichertem Verfahren und Funktion

Gespeicherte Prozedur gegen Funktion
 

Speichernde Verfahren und Funktionen sind zwei Arten von Programmierblöcken. Beide müssen Namen aufrufen. Diese Anrufnamen werden verwendet, um sie in einem anderen Programmierblock zu rufen, wie Verfahrensfunktionen und Pakete oder SQL -Abfragen. Beide Objekttypen akzeptieren Parameter und führen die Aufgabe hinter diesen Objekten aus. Dies ist die Syntax (in Oracle), um eine gespeicherte Prozedur zu erstellen,

 Erstellen oder Ersetzen von Prozedurverfahrensame (Parameter)

 als

 Start

     Aussagen;

 Ausnahme

     Ausnahmebehandlung

 Ende;

Und hier ist die Syntax, um eine Funktion zu erstellen (in Oracle),

Funktionsfunktion erstellen oder ersetzen Sie Funktionsfunktion_Name (Parameter)

return return_datatype

als

Start

Aussagen;

return return_value/variable;

Ausnahme;

Ausnahmebehandlung;

Ende;

Gespeicherte Prozeduren

Wie oben erwähnt, werden die gespeicherten Prozeduren als Programmierblöcke bezeichnet. Sie akzeptieren Parameter als Benutzereingabe und -prozess gemäß der Logik hinter der Prozedur und geben das Ergebnis an (oder eine bestimmte Aktion ausführen). Diese Parameter können in Typen, heraus und in den Typen sein. Variablendeklarationen, Variablenzuweisungen, Steuerungsanweisungen, Schleifen, SQL.

Funktionen

Funktionen werden auch als Programmierblöcke bezeichnet, die einen Wert mithilfe der Rückgabeanweisung zurückgeben müssen. Bevor er einen Wert zurückgibt, führt sein Körper auch einige Aktionen aus (gemäß der angegebenen Logik). Funktionen akzeptieren auch Parameter zum Ausführen. Funktionen können in den Abfragen aufgerufen werden. Wenn eine Funktion in einer Auswahlabfrage aufgerufen wird, gilt sie für jede Zeile des Ergebnissatzes der Auswahlabfrage. Es gibt verschiedene Kategorien von Orakelfunktionen. Sie sind,

  • Einzelzeilenfunktionen (gibt ein einzelnes Ergebnis für jede Zeile der Abfrage zurück)

Es gibt Unterkategorien einer einzelnen Zeilenfunktionen.

  • Numerische Funktion (Ex: ABS, Sünde, cos)
  • Zeichenfunktion (z. B. concat, initCap)
  • Datumszeitfunktion (z. B. last_day, next_day)
  • Konvertierungsfunktionen (z. B. to_char, to_date)
  • Sammlungsfunktion (Beispiel: Kardinalität, Set)
  • Aggregatfunktionen (gibt eine einzelne Zeile zurück, basierend auf einer Gruppe von Zeilen. Ex: AVG, Summe, max)
  • Analytische Funktionen
  • Objektreferenzfunktionen
  • Modellfunktionen
  • Benutzerdefinierte Funktionen

Was ist der Unterschied zwischen Funktion und gespeichertem Verfahren?

• Alle Funktionen müssen einen Wert mithilfe der Return -Anweisung zurückgeben. Speichernde Prozeduren geben die Werte nicht mithilfe der Rückgabeanweisung zurück. Rückgabeanweisung innerhalb eines Prozedur wird seine Kontrolle an das aufrufende Programm zurückgeben. Out -Parameter können verwendet werden, um Werte aus gespeicherten Prozeduren zurückzugeben.

• Funktionen können in den Abfragen aufgerufen werden, gespeicherte Verfahren können jedoch nicht in den Abfragen verwendet werden.

• Der Datentyp der Rückgabe muss einbezogen werden, um eine Funktion zu erstellen. In der DDL gespeicherten Prozeduren ist dies jedoch nicht der Fall.