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: 3 Funktion und Prozedur 2024, November
Anonim

Ansicht vs gespeicherte Prozedur

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

Erstellen oder Ersetzen des Ansichtsnamens

wie

select_statement;

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

Prozedurname (Parameter) für Prozedur erstellen oder ersetzen

ist

Start

Aussagen;

Ausnahme

Ausnahmebehandlung

Ende;

Aussicht

Eine Ansicht fungiert als virtuelle Tabelle. Es verbirgt eine ausgewählte Anweisung in seinem Körper. Diese select-Anweisung kann sehr komplex sein und Daten aus mehreren Tabellen und Ansichten entnehmen. Mit anderen Worten, eine Ansicht ist eine benannte select-Anweisung, die in der Datenbank gespeichert ist. Eine Ansicht kann verwendet werden, um die Logik hinter den Tabellenbeziehungen vor Endbenutzern 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 auch bei der Datensicherheit eine wichtige Rolle. 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 Folgendes nicht enthalten:

Operatoren einstellen (INTERSECT, MINUS, UNION, UNION ALL)

UNTERSCHEIDLICH

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

GROUP BY-Klausel

ORDER BY-Klausel

CONNECT BY-Klausel

Beginnen Sie mit Klausel

Sammlungsausdruck in einer Auswahlliste

Unterabfrage in A Auswahlliste

Abfrage beitreten

Gespeicherte Prozedur

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

Was ist der Unterschied zwischen Ansicht und gespeicherter Prozedur?

Lassen Sie uns die Unterschiede zwischen diesen beiden sehen.

• Ansichten fungieren als virtuelle Tabellen. Sie können direkt ab dem Schließen von SQL-Abfragen (Auswahl) verwendet werden, Prozeduren können jedoch nicht ab dem Ende von Abfragen verwendet werden.

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

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

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

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