Unterschied zwischen Ansicht und gespeicherter Prozedur

Ansicht gegen gespeicherte Prozedur
 

Ansichten und gespeicherte Prozeduren sind zwei Arten von Datenbankobjekten. Views sind gespeicherte Abfragen, bei denen Daten aus einer oder mehreren Tabellen gesammelt werden. Hier ist die Syntax zum Erstellen einer Ansicht

Ansicht Ansichtsname erstellen oder ersetzen

wie

select_statement;

Eine gespeicherte Prozedur ist ein vorkompilierter SQL-Befehlssatz, der im Datenbankserver gespeichert ist. Jede gespeicherte Prozedur hat einen aufrufenden Namen, mit dem sie in anderen Paketen, Prozeduren und Funktionen aufgerufen werden. Dies ist die Syntax (in ORACLE) zum Erstellen einer gespeicherten Prozedur,

Prozedur Prozedurname (Parameter) erstellen oder ersetzen

ist

Start

Aussagen;

Ausnahme

Ausnahmebehandlung

Ende;

Aussicht

Eine Ansicht fungiert als virtuelle Tabelle. Es verbirgt eine ausgewählte Aussage in seinem Körper. Diese select-Anweisung kann sehr komplex sein und Daten aus mehreren Tabellen und Ansichten übernehmen. Mit anderen Worten, eine Ansicht ist also eine benannte select-Anweisung, die in der Datenbank gespeichert wird. Eine Ansicht kann verwendet werden, um die Logik hinter den Tabellenbeziehungen für Endbenutzer zu verbergen. Da eine Ansicht das Ergebnis einer gespeicherten Abfrage ist, werden keine Daten gespeichert. Es sammelt Daten aus den Basistabellen und zeigt. Ansichten spielen ebenfalls eine wichtige Rolle in der Datensicherheit. Wenn der Tabellenbesitzer Endbenutzern nur einen Datensatz 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 können keine Folgeseiten enthalten,

Set-Operatoren (INTERSECT, MINUS, UNION, UNION ALL)

DISTINCT

Gruppenaggregatfunktionen (AVG, COUNT, MAX, MIN, SUM usw.)

GROUP BY-Klausel

ORDER BY-Klausel

CONNECT BY-Klausel

START MIT Klausel

Sammlungsausdruck in einer Auswahlliste

Unterabfrage in einer Auswahlliste

Query beitreten 

Gespeicherte Prozedur

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

Was ist der Unterschied zwischen Ansicht und gespeicherte Prozedur?

Lasst uns die Unterschiede zwischen diesen beiden sehen.

• Ansichten fungieren als virtuelle Tabellen. Sie können direkt aus Schließen von SQL-Abfragen verwendet werden (select), Prozeduren können jedoch nicht beim Schließen von Abfragen verwendet werden.

• Ansichten haben nur eine select-Anweisung als Rumpf, Prozeduren können jedoch Variablendeklarationen, Variablenzuweisungen, Steueranweisungen, Schleifen, SQL-Abfragen und andere Aufrufe von Funktionen / Prozeduren / Paketen als Rumpf haben.

• Die Prozedur akzeptiert Parameter, die ausgeführt werden sollen, aber Ansichten möchten nicht, dass Parameter ausgeführt werden.

• Datensatztypen können mit% ROWTYPE aus Ansichten erstellt werden. Mit Prozeduren können jedoch Datensatztypen nicht erstellt werden.

• SQL-Hinweise können in der view-Anweisung von view verwendet werden, um den Ausführungsplan zu optimieren. In gespeicherten Prozeduren können jedoch keine SQL-Hinweise 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 erteilt werden.