PostgreSQL gespeicherte Prozedurbeispiel

PostgreSQL gespeicherte Prozedurbeispiel
Die PostgreSQL -Datenbank ist zuverlässiger als andere, da sie die Daten in Form von Beziehungen, Verfahren usw. erstellen und speichern kann. PostgreSQL ist eine anpassbare Datenbank, da wir die Speichercontainer gemäß unseren Anforderungen ändern können. Die Daten in PostgreSQL werden von den Schemata und Katalogen verwaltet. PostgreSQL unterstützt viele Sprachen, was bedeutet, dass wir Abfragen in jeder Programmiersprache entweder in der PSQL (Shell) oder auf der Pgadmin -Seite ausführen können.

Genau wie die temporären Tabellen verwenden wir auch einige andere Funktionen, um die Speicherkapazität zu betreffen. Diese werden als "gespeicherte Verfahren" bezeichnet. Diese werden nicht wie die Tabellen gezeigt. Aber still mit den Tischen funktioniert.

In PostgreSQL oder einem anderen Datenbankverwaltungssystem verwenden wir Funktionen, um Vorgänge für die Daten auszuführen. Diese Funktionen sind von Benutzer erstellt oder benutzerdefiniert. Ein wesentlicher Nachteil dieser Funktionen ist, dass wir keine Transaktionen innerhalb der Funktionen ausführen können. Wir können nicht verpflichten oder rollen. Deshalb verwenden wir die gespeicherten Verfahren. Durch die Verwendung dieser Verfahren wird die Anwendungsleistung erhöht. Darüber hinaus können wir in einem einzigen Verfahren mehr als eine SQL -Anweisung verwenden. Es gibt drei Arten von Parametern.

IN: Es ist der Eingabeparameter. Es wird verwendet, um die Daten aus der Prozedur in die Tabelle einzufügen.

AUS: Es ist der Ausgangsparameter. Es wird verwendet, um den Wert zurückzugeben.

In Out: Es repräsentiert sowohl Eingangs- als auch Ausgangsparameter. Da können sie den Wert ergeben und zurückgeben.

SYNTAX

Erstellen oder Ersetzen von Verfahrensnamen (Parameterliste)
Sprache PLPGSQL
Als $$
ERKLÄREN
(Variablennamen des Prozedur)
START
--- SQL -Anweisungen / Logik / Zustand.
Ende $$

Installieren Sie Postgresql in Ihrem System. Nach erfolgreicher Konfiguration können wir jetzt auf die Datenbank zugreifen. Wir haben zwei Möglichkeiten, die Anfragen anzuwenden. Einer ist PSQL -Shell, während der andere das Pgadmin -Dashboard ist. Wir haben Pgadmin zu diesem Zweck verwendet. Öffnen Sie das Dashboard und geben Sie nun das Passwort an, um die Verbindung mit dem Server zu verwalten.

Verfahrenserstellung

Um die Funktionsweise des gespeicherten Prozedur zu verstehen, müssen wir eine Beziehung mit einer Erstellungserklärung herstellen.

>> Tischkleidung erstellen (id seriell, name varchar (100), städtisch varchar (100), farbvarchar (100), preisgültiger);

Normalerweise geben wir die Werte in der Tabelle ein, indem wir die Anweisung „Einfügen“ verwenden. Hier verwenden wir jedoch eine gespeicherte Prozedur, die als TEMP -Tabelle verwendet wird. Zuerst werden die Daten in ihnen gespeichert, und dann werden sie die Daten in der Tabelle weiter übertragen.

Erstellen Sie einen gespeicherten Prozedurnamen "AddClothes". Dieses Verfahren fungiert als Medium zwischen der Abfrage und der Tabelle. Da alle Werte zuerst in dieser Prozedur eingefügt werden und dann direkt über den Befehl Einfügen eingefügt werden.

>> Erstellen oder Ersetzen von Verfahren AddClothes (C_ID INOUT INT, C_NAME VARCHAR (100), C_CITY VARCHAR (100), C_COLOR VARCHAR (100), C_PRICE Ganzzahl)
Sprache PLPGSQL AS
$$ beginnen
Einfügen in Kleidung (Name, Stadt, Farbe, Preis) Werte (c_name, c_city, c_color, c_price) Rückgabe -ID in c_id;
Ende $$;

Jetzt werden die Werte aus der gespeicherten Prozedur in die Tischkleidung eingegeben. Aus der Abfrage ist klar, dass wir zunächst das Store -Verfahren mit dem Attribut mit etwas unterschiedlichen Spaltennamen mit denselben Datentypen definiert haben. Unter Verwendung einer Einfügeanweisung werden die Werte aus den Werten der gespeicherten Prozedur in die Tabelle eingegeben.

Genau wie eine einfache Funktion verwenden wir einen Funktionsaufruf, um die Werte als Argumente im Parameter zu senden, damit die Prozedur diese Werte akzeptiert.

>> addclothes (null, 't-Shirt', 'rot', 'New York', 1500);

Wie der Name des Prozedur "Addclothes" lautet, wird er so mit den Werten auf die gleiche Weise geschrieben, wie wir sie direkt in die Anweisung Insert schreiben. Der Ausgang wird als 1 dargestellt; Während wir die Rückkehrmethode verwendeten, zeigt dies, dass eine Zeile gefüllt ist. Wir werden die Daten mithilfe einer SELECT -Anweisung angezeigt.

>> aus Kleidung auswählen;

Wiederholen Sie die obige Prozedur bis zu dem Ausmaß, in dem Sie die Werte eingeben möchten.

Gespeicherte Prozedur und die Klausel "Update"

Erstellen Sie nun die Prozedur, um die bereits existierenden Daten in der Tabelle „Kleidung“ zu aktualisieren. Der erste Teil der Abfrage beim Eingeben von Werten in die gespeicherte Prozedur ist derselbe.

$$ beginnen
Aktualisieren Sie Kleidung Set name = c_name, city = c_city, color = c_color, price = c_price wobei id = c_id;
Ende $$

Jetzt werden wir das gespeicherte Verfahren anrufen. Die Anrufsyntax ist gleich, da sie nur die Werte in den Parametern als Argumente verwendet.

Es wird eine Nachricht angezeigt, die zeigt, dass die Abfrage mit der Ausführungszeit erfolgreich ausgeführt wird. Verwenden Sie die Auswahlanweisung, um alle Datensätze abzurufen, um die ausgetauten Werte anzuzeigen.

Die Prozedur mit der Klausel "Löschen"

Das nächste Geschäftsverfahren, das wir hier verwenden werden, ist die "DeleteClothes". In diesem Verfahren wird nur die ID als Eingabe abgerufen, und dann wird die Variable verwendet, um der ID mit der in der Tabelle vorhandenen ID zu entsprechen. Wenn das Match gefunden wird, wird die Zeile jeweils gelöscht.

>> Erstellen oder Ersetzen von Prozeduren Löschungsporthüter
(c_id int
)
Sprache PLPGSQL AS
$$ beginnen
Aus Kleidung löschen, wobei id = c_id;
Ende $$

Jetzt werden wir das Verfahren anrufen. Diesmal wird nur eine einzige ID verwendet. Diese ID findet die Zeile, die gelöscht werden soll.

>> Rufen Sie DeleteClothes (2) an

Die Zeile mit dem ID "2" wird aus der Tabelle gelöscht.

>> aus Kleidung auswählen;

Es befanden sich 3 Reihen im Tisch. Jetzt können Sie sehen, dass nur zwei Zeilen übrig bleiben, da die Zeile mit „2“ -ID aus der Tabelle gelöscht wird.

Funktionserstellung

Nach der vollständigen Diskussion des gespeicherten Verfahrens werden wir nun überlegen, wie die benutzerdefinierten Funktionen eingeführt und verwendet werden.

>> Funktion erstellen oder ersetzen Sie die Funktion getAllclothes () Rücksendungen
Sprache SQL
Als $$
Wählen Sie * aus Kleidung;
$$;

Eine Funktion wird mit demselben Namen wie die gespeicherte Prozedur erstellt. Alle Daten aus der Tabelle „Kleidung“ werden im Ergebnis der Ergebnisdatenausgabe angezeigt. Diese Rückkehrfunktion nimmt kein Argument im Parameter ein. Durch die Verwendung dieser Funktion haben wir die Daten wie oben gezeigt im Bild erhalten.

Die andere Funktion wird verwendet, um die Kleidungsdaten aus der spezifischen ID zu erhalten. Eine Variable in der Ganzzahl wird im Parameter eingeführt. Diese ID wird mit der ID in der Tabelle abgestimmt. Wo die Übereinstimmung gefunden wird, wird die spezifische Zeile angezeigt.

>> Funktion erstellen oder ersetzen Sie die GetClothesById (C_id int) Return Kleidung zurück
Sprache SQL
Als $$
Wählen Sie * aus Kleidung, wobei id = c_id;
$$;

Als Argument werden wir die Funktion mit der ID aufrufen, die wir die Datensätze aus der Tabelle abholen möchten.

>> aus FerclothesbyId (3) auswählen;

Daher können Sie aus der Ausgabe sehen, dass nur eine einzelne Zeile aus der Tabelle „Kleidung“ abgerufen wird.

Abschluss

„Beispiel für PostgreSQL -Beispiel“, erläutert die Beispiele mit der Erstellung und Operationen der Verfahren. Funktionen hatten einen Nachteil, der durch die von Postgresql gespeicherten Verfahren entfernt wurde. Beispiele zu Verfahren und Funktionen werden ausgearbeitet, die ausreichen, um Wissen über die Verfahren zu erlangen.