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. |