Skip to Main Content

 

Auswahl  

Oracle SQL Insert 

Oracle
SQL
07.11.17 (MP)
04.07.23(MD)
SQL Insert

Passende Schulungen zum Thema

Wie fügt man eine Zeile in die Oracle Datenbank ein?

Zuerst legen wir uns mal eine Tabelle an:

CREATE TABLE mitarbeiter (
  mitarb_id                 NUMBER,
  mitarb_name               VARCHAR2(100),
  mitarb_einstellungs_datum date );


1. Single Line Insert (fügt nur eine Zeile ein), kurze Variante:

INSERT INTO mitarbeiter VALUES (1,'Patzwahl',sysdate);

Der Datensatz ist noch persistent in der DB gespeichert, im Gegensatz zu Postgres Datenbanken !
Erst ein Commit, schreibt die Daten permanent in die Tabelle

COMMIT;


Bei Tabellen mit vielen Spalten wird diese Variante schnell unübersichtlich. Deswegen empfiehlt sich

2. Single Line Insert, lange Variante

INSERT INTO mitarbeiter (mitarb_id, mitarb_name, mitarb_einstellungs_datum)
  VALUES (1, 'Patzwahl', sysdate);


Bei dieser Variante wurden die Spalten mit angegeben. Das hat mehrere Vorteile:

  • Man sieht welche Spalten in der Tabelle gefüllt werden
  • Es müssen nicht alle Spalten der Tabelle gefüllt werden
  • Die Reihenfolge bei der Befüllung der Tabellenspalten kann beliebig durchgeführt werden

3. Multi Line Insert (hier werden eine oder mehrere Zeilen aus einer anderen Tabelle kopiert)

Voraussetzung ist, dass es eine Tabelle mit Namen mitarbeiter_muenchen gibt, die über die gleiche Spaltenzahl und Spaltentypen verfügt.

INSERT INTO mitarbeiter SELECT * FROM mitarbeiter_muenchen:


4. Die Zieltabelle kann auch auf einer entfernt liegenden Oracle Datenbank liegen. Dazu muss nur ein [Public] Database Link vorhanden sein. Dieser meldet sich bei der Datenbank rcl auf dem Server 162.20.10.1 via Port 1521 als Benutzer SCOTT mit Passwort tiger an.

CREATE DATABASE LINK remote_db CONNECT TO scott IDENTIFIED BY tiger
  USING '162.20.10.1:1521/orcl';

INSERT INTO mitarbeiter@remote_db SELECT * FROM mitarbeiter_muenchen:


Oder die Daten sollen lokal in einer Tabelle gespeichert werden, die Ursprungsdaten liegen aber Remote:

INSERT INTO mitarbeiter SELECT * FROM mitarbeiter_muenchen@remote_db:


SQL lernen ist nicht schwer, kommen Sie einfach zu uns her:-)

Wir haben auch für Sie die passende Schulung im Programm.

Weitere Interessante Kurs-Tipps zum Thema