PostgreSQL benannte Parameter

PostgreSQL benannte Parameter
PostgreSQL -Managementsystem macht Funktionen, die Parameter benannt haben, indem sie entweder Positionsnotation oder benannte Notation verwenden. Wir verwenden die benannte Notation hauptsächlich in der Situation, in der wir eine große Anzahl von Parametern übergeben müssen. Durch die Verwendung wird der Assoziation zwischen den Argumenten und den Parametern der Funktionen expliziter.

Während wir Funktionen oder Verfahren in PostgreSQL verwenden, können wir Daten aus dem Funktionsaufruf an die Prozeduren übergeben und gleichzeitig Daten aus den Funktionen zurücknehmen. Diese spezifische Aktion oder Funktionalität erfolgt nur über die Parameter. Was die Diskussion der benannten Parameter betrifft, müssen wir Funktionen deklarieren. Wir werden jetzt sehen, wie Funktionen mit PostgreSQL funktionieren.

Funktionen

PostgreSQL -Funktionen werden auch als Verfahren angesehen. Diese werden verwendet, um Vorgänge auszuführen, die normalerweise mehrere Fragen erfolgen können, wenn wir ohne Funktionen eine Logik ausführen möchten. Durch das Erstellen von Funktionen können wir jedoch jedes Szenario in einem einzigen Verfahren ausführen. Um den Betrieb zu starten, ist nur ein Funktionsaufruf erforderlich.

Syntax

Erstellen [oder ersetzen] Funktion name_of_function (Argumente)
Gibt den Datentyp als $ name_of_variable $ zurück
ERKLÄREN
Any_Declarartion;
START
< body_of_function >
[…]
Return name_of_variable | Wert
ENDE;
Sprache PLPGSQL;

Beschreibung:

  • Zunächst erwähnen wir den Namen der Funktion, nachdem wir das Wort "Funktion erstellen" verwendet haben.
  • Ein Schlüsselwort, Ersatzfunktion, wird verwendet, wenn Sie eine bereits vorhandene Funktion ersetzen müssen.
  • Dann werden die Funktionsparameter in der Klammern geschrieben.
  • Am Ende schreiben wir über die verwendete Sprache.

Es gibt zwei Arten von Parametern, die durch die Funktion weitergegeben werden.

  • Parameter benannt
  • Positionsparameter

Parameter benannt

Wenn wir die Parameter einer Funktion mithilfe einer benannten Notation angeben, ist dies ein benannter Parameter, und ein Pfeil mit dem Parameterwert folgt ihm ihm.

Positionsparameter

Wenn wir die Werte der Positionsparameter direkt als Positionsnotation verwenden, müssen die Parameter in derselben Reihenfolge aufgeführt werden, in der sie deklariert werden. Während es im Fall einer benannten Notation nicht obligatorisch ist, eine Bestellung anzugeben.

Implementierung

Um das Konzept eines benannten Parameters zu erläutern, werden wir zunächst eine Funktion oder eine Prozedur in PostgreSQL erstellen. Eine Funktion namens 'l_u_case' wird erstellt, um an den Zeichenfolgen zu arbeiten, die über einen Funktionsaufruf gesendet werden. Es wandelt die Wörter in den oberen oder unteren Fall um. Durch das Erstellen der Funktion sind die Hauptmerkmale die Parameter, die Variablen für den Datenempfänger enthalten. In dieser Funktion haben wir also zwei Variablen vom Typ Text erstellt, um Daten darin zu speichern. Und die dritte Variable ist ein boolescher Typ. Es ist bekannt. Eine Variable von Großbuchstaben wird also standardmäßig als falsch eingestellt. Dies bedeutet, dass der Text, wenn der Benutzer einen Funktionsaufruf verwendet, ohne den Fallnamen, entweder obere oder untere, zu erwähnen, der Text standardmäßig in die Kleinbuchstaben konvertiert wird, wenn er auch in den oberen Fallbuchstaben ist.

Funktion erstellen l_u_case (ein Text, u boolean Standard falsch)
Gibt Text zurück
ALS
$$
Wählen Sie den Fall
Wenn $ 3 dann obere ($ 1 || "|| $ 2)
Sonst niedriger ($ 1 || "|| $ 2)
ENDE;
$$
Sprache SQL unveränderliche strenge;

Der Befehl auswählen wird hier verwendet, um den Fall mit der dritten Variablen auszuwählen. Wenn die dritte Variable, die für Großbuchstaben boolan ist. Jede Saite ist mit einem leeren Platz zwischen ihnen verkettet. In der zweiten Option wird der untere Fall mit derselben Verkettungsmethode angewendet, wenn die boolesche Variable nicht erwähnt wird. Bei der Ausführung wird die folgende Nachricht angezeigt.

Jetzt werden wir sowohl den benannten Parameter als benannte Notation als auch als Positionsnotation anwenden.

Positionsnotation

In diesem Beispiel wird der Funktionsaufruf mit den direkt geschriebenen Werten durchgeführt, ohne eine Variable als Argument für den Funktionsaufruf zu verwenden. Der Funktionsaufruf wird durch Verwendung einer SELECT -Anweisung erreicht. Der Name einer Funktion wird mit den Parametern geschrieben.

>> Wählen Sie l_u_case ('Linux', 'Hinweis', true);

Bei der Ausführung wird ein Großbuchstaben beider Saiten verkettet; Dies liegt daran, dass wir den Großbuchstaben als dritter Parameter erwähnt haben.

Wenn Sie den dritten Parameter entfernen, liegt der resultierende Wert in den unteren Fallalphabeten vor.

>> Wählen Sie l_u_case ('Linux', 'Hinweis');

Named Notation

Hier werden die Werte nicht direkt den Variablen im Parameter zugeordnet, aber die Variablen, die wir in den Funktionen verwenden, werden auch im Funktionsaufruf verwendet. Auf diese Weise werden allen Variablen die Werte zugeteilt. Ein boolescher Wert 'u' wird ebenfalls mit einem echten Wert zugeordnet.

>> Wählen Sie l_u_case (a => 'linux', b => 'tipp', u => true);

Darüber hinaus ist der hier herausgegebene Betreiber kein gleiches Zeichen. Wenn Sie ein einfaches gleiches Zeichen oder ein anderes Zeichen an der Stelle dieses Bedieners verwenden, wird ein Syntaxfehler gebildet.

Bei der Ausführung des obigen Befehls sehen Sie, dass dieselbe Zeichenfolge mit den oberen Fallbuchstaben angezeigt wird. In ähnlicher Weise werden die Saiten im unteren Fall standardmäßig durch Entfernen der benannten Notation für den Großbuchstaben angezeigt.

Neben der Position und der benannten Notation gibt es eine dritte Form, eine "gemischte" Notation, die sowohl die benannte als auch die Positionsnotation enthält. Betrachten wir das gleiche Beispiel dafür wie oben beschrieben. Wir werden die Zeichenfolgen im Parameter im Funktionsaufruf direkt erwähnen, während der booleschen Variablen 'u' der Wert über einen benannten Parameter zugewiesen wird.

>> Wählen Sie l_u_case ('Linux', 'Hinweis', u => true);

Das Ergebnis ändert sich nicht.

Beispiel 2

Hier ist ein weiteres Beispiel für eine Tabelle mit dem Namen Probe; Wir verwenden eine Anweisung "Create", um eine Funktion zu erstellen. Zwei Werte werden durch die Verwendung dieser Funktion getauscht. Beide Variablen werden in der Funktion eingeführt. Die Werte in diesen Variablen, die durch den Funktionsparameter gesendet werden, werden ausgetauscht.

Wählen Sie x, y in y, x;

Führen Sie den Befehl aus, und Sie werden sehen, dass die Funktion erstellt wird. Jetzt werden wir einen einfachen Funktionsaufruf mit einer Positionsnotation ausführen. Wir werden nur die Zahlen verwenden, die von den in der Funktion deklarierten Variablen akzeptiert werden.

>> aus Sample (531, 902) auswählen;

Bei der Ausführung sehen Sie, dass die Werte beider Variablen getauscht werden. Dies könnte jedoch verwirren, da jemand den Wert von x und den Wert von y zum Zeitpunkt des Funktionsaufrufs möglicherweise nicht kennt. Dieses Problem wird also durch die Namensparameter gelöst. Jeder Wert wird einer Variablen als Parameter zu einem Zeitpunkt eines Funktionsaufrufs zugewiesen.

>> aus Swapper auswählen (x => 198, y => 457);

Bei der Ausführung des Funktionsaufrufs werden beide Werte zugewiesen. Und bei der Ausführung wird jeder Wert getauscht.

Abschluss

'Postgres namens Procedure' beschreibt die Funktion, ihre Verwendung mit den Parametern und auch die Parametertypen, die nach postgreSQL den Benutzer verwenden können. Es gibt zwei grundlegende Parameternotationen. Beide werden mit Beispielen erläutert, damit der Benutzer leicht zwischen diesen beiden Notationen unterscheiden kann.