PostgreSQL – Erweitertes Einfügen

Die Syntax von PostgreSQL koexistiert problemlos mit den ANSI-SQL-Standards, obwohl PostgreSQL es uns ermöglicht, beim Einfügen von Daten, die sich nicht in anderen Datenbankmanagern befinden, einige Tricks in den Griff zu bekommen der erweiterte Einfügekonstruktor für mehrere Datensätze.

Mehrfacheinsatz

Wie wir erklärten, haben wir die Möglichkeit, mehrere Zeilen einzufügen, aber sehen wir uns ein Beispiel im Code an, um uns darauf einstellen zu können:

pg_insert_avz1.jpg
Wir können sehen, dass dies ähnlich wie das Einfügen einer einzelnen Zeile mit INSERT VALUES () funktioniert, nur dass wir mehr als einen Datensatz gleichzeitig hinzufügen können, indem wir jeden Datensatzsatz mit einem Komma (,) trennen.

Einschränkungen

Die Einschränkungen in PostgreSQL sind die fortschrittlichsten und komplexesten auf dem Markt für Datenbanken, da sie nicht nur die Einschränkung schaffen, sondern auch die Bearbeitung aller Facetten der vorhandenen Daten ermöglichen, einschließlich der Bedingungen, unter denen wir sie auslassen können die Verwendung der Einschränkung und Verletzung der Einschränkung beim Einfügen der Daten.

Schauen wir uns an, wie man mit einer Fremdschlüssel-Einschränkung umgeht. PostgreSQL ermöglicht Änderungsoptionen und die Kaskadenlöschung, wenn wir die Einschränkungen verwenden.

In diesem Beispiel werden wir einige Dinge demonstrativ verwenden.

pg_insert_avz2.jpg

pg_insert_avz3.jpg

1. In dieser ersten Einschränkung definieren wir eine Fremdschlüsselbeziehung zwischen der Tabelle facts und der Tabelle fact_types , um die Einführung von Elementen zu verhindern, die nicht bereits in der Tabelle fact_types vorhanden sind.

2. Wir definieren auch eine Kaskadenregel, die die Faktentabelle automatisch aktualisiert. Das Feld fact_type_id wird bei erneuter Aufzählung eines Datensatzes der Tabelle fact_types aktualisiert. Außerdem schränken wir das Löschen ein, wenn Werte verwendet werden.

See also  Skalpell: Tool zum Wiederherstellen gelöschter Dateien Linux

3. Im Gegensatz zum Verhalten des Primärschlüssels und den eindeutigen Einschränkungen fügt PostgreSQL nicht automatisch einen Index eines Fremdschlüssels hinzu, dies muss von eigenen Konten durchgeführt werden.

Einzigartige Einschränkungen

Jede Tabelle kann nicht mehr als einen einzelnen Primärschlüssel haben. Wenn wir nun andere eindeutige Felder in anderen Spalten benötigen, müssen wir zu den eindeutigen Einschränkungen gehen. Durch das Hinzufügen wird automatisch ein zugeordneter eindeutiger Index erstellt, im Gegensatz zu einem Primärschlüssel, einer Spalte mit einem Eine eindeutige Einschränkung kann mit NULL-Werten gefüllt werden, da eine eindeutige Einschränkung eine Spalte ist, die nicht für die Teilnahme an einer Fremdschlüsselzuordnung qualifiziert ist.

Um dies zu tun, können wir es auf folgende Weise tun:

 ALTER TABLE logs_2011 ADD CONSTRAINT uq_us_log UNIQUE (Benutzername, log_ts); 

Überprüfen Sie die Einschränkungen

Die Überprüfungsbedingungen sind Bedingungen, die ein Feld für jede Zeile erfüllen muss. Der PostgreSQL- Abfrageplaner ist dafür verantwortlich, zu überprüfen, ob in der Tabelle eine Überprüfungsbedingung vorhanden ist, die bewirkt, dass ein Filter einer Bedingung nicht erfüllt werden kann Überprüfung der Bedingungen.

Mal sehen, wie wir eine Prüfbedingung erstellen können :

 [size = 4] ALTER TABLE-Protokolle ADD CONSTRAINT chk_lusername [/ size] [size = 4] CHECK (user_name = lower (user_name)); [/ size] 

Damit haben wir dieses Tutorial abgeschlossen, in dem wir etwas mehr über die erweiterten Konfigurationen von PostgreSQL erfahren haben, als wir Einfügungen vorgenommen und die Daten anhand der Bedingungen der Einschränkungen überprüft haben.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *