Unterschied zwischen Ansicht und gespeicherter Prozedur

Inhaltsverzeichnis:

Unterschied zwischen Ansicht und gespeicherter Prozedur
Unterschied zwischen Ansicht und gespeicherter Prozedur

Video: Unterschied zwischen Ansicht und gespeicherter Prozedur

Video: Unterschied zwischen Ansicht und gespeicherter Prozedur
Video: Tutanota explained: The difference between an alias and a user 2024, Juli
Anonim

View vs Stored Procedure

Ansichten und gespeicherte Prozeduren sind zwei Arten von Datenbankobjekten. Ansichten sind eine Art gespeicherte Abfragen, die Daten aus einer oder mehreren Tabellen sammeln. Hier ist die Syntax zum Erstellen einer Ansicht

Ansichtsnamen erstellen oder ersetzen

als

select_statement;

Eine gespeicherte Prozedur ist ein vorkompilierter SQL-Befehlssatz, der auf dem Datenbankserver gespeichert ist. Jede gespeicherte Prozedur hat einen Aufrufnamen, der verwendet wird, um sie innerhalb anderer Pakete, Prozeduren und Funktionen aufzurufen. Dies ist die Syntax (in ORACLE), um eine gespeicherte Prozedur zu erstellen, Erstellen oder Ersetzen einer Prozedur Prozedurname (Parameter)

ist

begin

Anweisungen;

Ausnahme

Ausnahmebehandlung

end;

Anzeigen

A View fungiert als virtueller Tisch. Es verbirgt eine select-Anweisung in seinem Körper. Diese Select-Anweisung kann sehr komplex sein und Daten aus mehreren Tabellen und Views verwenden. Mit anderen Worten, eine Ansicht ist daher eine benannte Auswahlanweisung, die in der Datenbank gespeichert wird. Eine Ansicht kann verwendet werden, um die Logik hinter den Tabellenbeziehungen vor Endbenutzern zu verbergen. Da eine Ansicht das Ergebnis einer gespeicherten Abfrage ist, enthält sie keine Daten. Es sammelt Daten aus den Basistabellen und zeigt. Ansichten spielen auch bei der Datensicherheit eine wichtige Rolle. Wenn der Tabelleneigentümer den Endbenutzern nur eine Reihe von Daten anzeigen muss, ist das Erstellen einer Ansicht eine gute Lösung. Ansichten können in zwei Kategorien unterteilt werden

  • Aktualisierbare Ansichten (Ansichten, die für INSERT, UPDATE und DELETE verwendet werden können)
  • Nicht aktualisierbare Ansichten (Ansichten, die nicht für INSERT, UPDATE und DELETE verwendet werden können)

Aktualisierbare Ansichten dürfen keine Follower enth alten, Operatoren festlegen (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Gruppieren von Aggregatfunktionen (AVG, COUNT, MAX, MIN, SUM usw.)

GROUP BY-Klausel

ORDER BY-Klausel

CONNECT BY-Klausel

START WITH-Klausel

Sammelausdruck in einer Auswahlliste

Unterabfrage in einer Auswahlliste

Anfrage beitreten

Gespeicherte Prozedur

Gespeicherte Prozeduren sind benannte Programmierblöcke. Sie müssen einen Namen haben, den sie anrufen können. Gespeicherte Prozeduren akzeptieren Parameter als Benutzereingaben und verarbeiten sie gemäß der Logik hinter der Prozedur und geben das Ergebnis aus (oder führen eine bestimmte Aktion aus). Variablendeklarationen, Variablenzuweisungen, Steueranweisungen, Schleifen, SQL-Abfragen und andere Funktions-/Prozedur-/Paketaufrufe können sich innerhalb des Hauptteils von Prozeduren befinden.

Was ist der Unterschied zwischen View und Stored Procedure?

Lassen Sie uns die Unterschiede zwischen diesen beiden sehen.

• Ansichten fungieren als virtuelle Tabellen. Sie können direkt am Ende von SQL-Abfragen (select) verwendet werden, aber Prozeduren können nicht am Ende von Abfragen verwendet werden.

• Views haben nur eine select-Anweisung als Rumpf, aber Prozeduren können Variablendeklarationen, Variablenzuweisungen, Steueranweisungen, Schleifen, SQL-Abfragen und andere Funktionen/Prozeduren/Paketaufrufe als Rumpf haben.

• Prozedur akzeptiert auszuführende Parameter, Ansichten wollen jedoch nicht, dass Parameter ausgeführt werden.

• Datensatztypen können aus Ansichten mit % ROWTYPE erstellt werden, aber mit Prozeduren können keine Datensatztypen erstellt werden.

• SQL-Hinweise können innerhalb der View-Select-Anweisung verwendet werden, um den Ausführungsplan zu optimieren, aber SQL-Hinweise können nicht in gespeicherten Prozeduren verwendet werden.

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK und DEBUG können für Ansichten gewährt werden, aber nur EXECUTE und DEBUG können für Prozeduren gewährt werden.

Empfohlen: