INSERT Oracle/PLSQL

In diesem Oracle-Lernprogramm wird die Verwendung der Oracle-Anweisung INSERT mit Syntax und Beispielen erläutert. Wir haben auch einige Übungsübungen hinzugefügt, die Sie selbst ausprobieren können.

Beschreibung

Die Oracle-Anweisung INSERT wird verwendet, um einen einzelnen Datensatz oder mehrere Datensätze in eine Tabelle in Oracle einzufügen.

Syntax

Die Syntax für die Oracle INSERT-Anweisung beim Einfügen eines einzelnen Datensatzes mit dem Schlüsselwort VALUES lautet:

INSERT INTO table
(column1, column2, … column_n )
VALUES
(expression1, expression2, … expression_n );

Oder die Syntax für die Oracle INSERT-Anweisung beim Einfügen mehrerer Datensätze mit einer SELECT-Anweisung lautet:

INSERT INTO table
(column1, column2, … column_n )
SELECT expression1, expression2, … expression_n
FROM source_table
[WHERE conditions];

Parameter oder Argumente

table Die Tabelle, in die die Datensätze eingefügt werden sollen.

column1, column2, … column_n Die Spalten in der table zum Einfügen von Werten.

expression1, expression2, … expression_n Die Werte, die den Spalten in der Tabelle zugewiesen werden sollen. So würde column1 der Wert von expression1 zugewiesen werden, column2 der Wert von expression2 usw. zugewiesen werden .

source_table Die Quelltabelle beim Einfügen von Daten aus einer anderen Tabelle.

WHERE conditions Wahlweise. Die Bedingungen, die erfüllt sein müssen, damit die Datensätze eingefügt werden.

Notiz

  • Beim Einfügen von Datensätzen in eine Tabelle mit der Oracle INSERT-Anweisung müssen Sie für jede NOT NULL-Spalte einen Wert angeben.
  • Sie können eine Spalte in der Oracle INSERT-Anweisung auslassen, wenn die Spalte NULL-Werte zulässt.

Beispiel – Verwenden des Schlüsselworts VALUES

Die einfachste Methode zum Erstellen einer Oracle-INSERT-Abfrage zum Auflisten der Werte mit dem Schlüsselwort VALUES.

Beispielsweise:

Diese Oracle INSERT-Anweisung würde dazu führen, dass ein Datensatz in die Tabelle suppliers eingefügt wird. Dieser neue Datensatz hätte eine supplier_id von 5000 und einen supplier_name von ‚Nike‘.

Beispiel – SELECT-Anweisung verwenden

Sie können auch kompliziertere Oracle-INSERT-Anweisungen mit SELECT-Anweisungen erstellen.

Beispielsweise:

Durch Einfügen einer SELECT-Anweisung in die INSERT-Anweisung können Sie mehrere Einfügungen schnell durchführen.

Bei dieser Art von Einfügung möchten Sie möglicherweise die Anzahl der eingefügten Zeilen überprüfen. Sie können die Anzahl der Zeilen bestimmen, die eingefügt werden, indem Sie vor dem Einfügen die folgende Oracle SELECT-Anweisung ausführen.

Häufig gestellte Fragen

Frage:

Ich richte eine Datenbank mit Kunden ein. Ich weiß, dass Sie die Oracle-Anweisung INSERT verwenden, um Informationen in die Datenbank einzufügen. Wie kann ich jedoch sicherstellen, dass ich nicht erneut dieselben Clientinformationen eingebe?

Antwort:

Sie können sicherstellen, dass Sie keine doppelten Informationen einfügen, indem Sie die Bedingung EXISTS verwenden.

Wenn Sie beispielsweise eine Tabelle mit dem Namen clients mit einem Primärschlüssel von client_id haben, können Sie die folgende Oracle INSERT-Anweisung verwenden:

Diese Oracle-Anweisung INSERT fügt mehrere Datensätze mit einer Unterauswahl ein.

Wenn Sie einen einzelnen Datensatz einfügen möchten, können Sie die folgende Oracle INSERT-Anweisung verwenden:

Durch die Verwendung der Doppeltabelle können Sie Ihre Werte in eine select-Anweisung eingeben, auch wenn die Werte derzeit nicht in einer Tabelle gespeichert sind.

Frage:

Wie kann ich mehrere Zeilen expliziter Daten in einen INSERT-Befehl in Oracle einfügen?

Antwort:

Im Folgenden finden Sie ein Beispiel für das Einfügen von 3 Zeilen in die Tabelle suppliers in Oracle mithilfe einer Oracle-Anweisung INSERT:

Übungsübung Nr. 1:

Fügen Sie basierend auf der Tabelle contact einen Kontaktdatensatz ein, dessen contact_id den Wert 1000 hat, last_name ist ‚Smith‘, last_name ist ‚Jane‘ und die address ist 10 Somewhere St .:

Lösung für Übungsübung Nr. 1:

Die folgende Oracle-Anweisung INSERT fügt diesen Datensatz in die Tabelle employees ein:

Übungsübung Nr. 2:

Fügen Sie basierend auf den contacts und der customers -Tabelle alle customers in die contacts ein die sich im state von ‚Florida‘ befinden.

Lösung für Übung Übung 2:

Die folgende Oracle-Anweisung INSERT fügt diesen Datensatz in die Tabelle der suppliers ein:

INSERT INTO contacts
(contact_id, last_name, first_name, address, city, state, zip_code)
SELECT customer_id, last_name, first_name, address, city, state, zip_code
FROM customers
WHERE state = ‚Florida‘;

Da die Anzahl der Felder in der Tabelle contacts und customers gleich ist und die Felder in derselben Reihenfolge aufgeführt sind, können Sie dies tun Schreiben Sie die Lösung wie folgt (obwohl es im Allgemeinen besser ist, die Spaltennamen aufzulisten, falls sich die Tabellendefinitionen ändern):