Die INSERT-Anweisung in Oracle ist ein DML-Befehl (Data Manipulation Language). Es wird verwendet, um neue Zeilen in die Oracle-Tabellen in der Oracle-Datenbank einzufügen
SyntaxINSERT INTO
(col1, col2, ... column_n )
VALUES
(value1, value2, ... value_n );
Hier
Tabellenname :Tabelle, in die neue Datensätze eingefügt werden müssen
col1,col2 :ist die Spalte in den Tabellen
Wert1,Wert2…. :sind die Werte, die col1,col2 … in der Tabelle entsprechen
Bei dieser Syntax wird nur eine Zeile in die Tabelle eingefügt
Angenommen, Sie möchten Datensätze in die EMP-Tabelle eingeben, dann
insert into emp (emp_id, emp_name,dept_id,first_name,last_name,salary)
values ('101','JOHN', 10,'JOHN' ,'ROGER', 3000);
Wichtiger Hinweis
- Es ist nicht erforderlich, Spaltennamen anzugeben, falls Sie die Werte in der richtigen Reihenfolge angeben und der Wert für jede Spalte in der Tabelle bereitgestellt wird
- Es wird empfohlen, Zeichenwerte in einfache Anführungszeichen zu setzen.
So fügen Sie Nullwerte in eine Tabelle ein
Falls wir Nullwerte für die wenigen Spalten setzen, können wir die Spalten im Einfügebefehl weglassen
insert into emp (emp_id, emp_name,dept_id,salary)
values ('101','JOHN', 10, 3000);
Einfügen mit Select-Anweisung
Wir können auch mit der Select-Anweisung
in die Tabelle einfügenINSERT INTO
(col1, col2, ... column_n )select col1, col2, ... column_n from
Diese Methode kann zum Einfügen in mehrere Zeilen verwendet werden
- Wir müssen hier keine Werteklausel verwenden
- Wir müssen die Spalte in der Einfügung mit der Auswahlabfrage abgleichen, damit sie funktioniert
- Es ist nicht erforderlich, Spaltennamen anzugeben, falls Sie die Werte in der richtigen Reihenfolge angeben und der Wert für jede Spalte in der Tabelle bereitgestellt wird
Beispiel insert into emp_master (emp_id ,salary) select emp_id ,salary from emp;INSERT INTO emp_master (emp_id ,salary) WITH sal AS ( SELECT 201,5000 FROM dual UNION ALL SELECT 201, 10000 FROM dual UNION ALL SELECT 204, 10004 FROM dual UNION ALL SELECT 7, 5675476 FROM dual ) SELECT * FROM sal;
Datumsfunktion in die Tabelle einfügen
Angenommen, wir haben eine Oracle-Datumsdatentyp-Spalte in der Tabelle, dann können wir die sysdate-Funktion verwenden, um das Datum in die Insert-Anweisung einzugeben
insert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, sysdate);insert into emp (emp_id,emp_name,salary,rere_date) values ( '10','JOHN ',1000, sysdate -1);
Oder wenn wir das spezifische Datum angeben müssen, können wir das Standardformat für das Datum „TT-MON-JJJJ“ verwenden. Mit dieser Uhrzeit ist standardmäßig Mitternacht
insert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, '18-AUG-2018');
oder wenn wir nach einiger Zeit Daten in einem anderen Format eingeben müssen, können wir die to_date-Funktion
verwendeninsert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, TO_DATE('2018/08/18 01:02:44', 'yyyy/mm/dd hh24:mi:ss'));
Oracle insert all-Anweisung
Oracle Insert All Statement hilft uns, mehrere Zeilen in der Tabelle auf einmal hinzuzufügen, oder wir können mehrere Zeilen in verschiedenen Tabellen mit derselben Insert-Anweisung hinzufügen
Syntax für eine Tabelle
INSERT ALL INTO
SELECT * FROM dual;
Syntax für mehrere Tabellen
INSERT ALL INTO
SELECT * FROM dual;
Dies ist äquivalent zu
INSERT IN(col1, col2, ... column_n ) VALUES (value1, value2, ... value_n );
INSERT INTO(col1, col2, ... column_n ) VALUES (Wert1, Wert2, ... Wert_n )
INSERT INTO(col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
Beispiele
alles einfügen in
emp (emp_id, emp_name,abt_id,vorname,nachname,gehalt) values ('101','JOHN', 10,'JOHN' ,'ROGER', 2000)
emp (emp_id , emp_name,abt_id,vorname,nachname,gehalt) values ('102','SMITH', 10,'JOHN' ,'ROGER', 3000)
emp (emp_id, emp_name,abt_id,vorname,nachname,gehalt ) Werte ('103','BILL', 10,'JOHN' ,'ROGER', 4000)
SELECT * FROM dual;
alles einfügen in
emp (emp_id, emp_name,abt_id,vorname,nachname,gehalt) werte ('101','JOHN', 10,'JOHN' ,'ROGER', 2000)
abt (abt.nr , Abteilungsname, Abteilungsstandort) Werte ('20', 'ABRECHNUNG', 'NEWYORK)
emp (Arbeitnehmer-ID, Arbeitgebername, Abteilungs-ID, Vorname, Nachname, Gehalt) Werte ('103', 'BILL', 10, 'JOHN ' ,'ROGER', 4000)
SELECT * FROM dual;
Alle Anweisungen einfügen kann auch wie folgt verwendet werden
insert all INTO emp (emp_id, emp_name,dept_id,salary) values (id,name, dept_no, sal) INTO dept (dept_no, dept_name,dept_location) values (dept_no,dept_name,location) WITH names AS ( SELECT 4 id , 'John' name,10 dept_no,'LABOUR' dept_name,'INDIA' location, 45000 sal FROM dual UNION ALL SELECT 5 id, 'Mac' name,20 dept_no,'FIRE' dept_name,'INDIA' location, 567000 sal FROM dual UNION ALL SELECT 6 id, 'Ruth' name,30 dept_no,'HEALTH' dept_name,'INDIA' location, 5600 sal FROM dual UNION ALL SELECT 8 id, 'bill' name,40 dept_no,'WATER' dept_name,'INDIA ' location, 158750 sal FROM dual ) SELECT * FROM names;
Es ist möglich, bedingte Anweisungen in der Insert-All-Anweisung
zu verwendeninsert all WHEN 1=1 THEN INTO emp (emp_id, emp_name,abt_id,gehalt) values (id,name, abt_nr, sal) WHEN abt_nr IS NOT NULL THEN abt (abt_nr, abt_name,abt_ort) werte (abt_nr,abt_name ,location) WITH names AS ( SELECT 4 id, 'John' name,10 dept_no,'LABOUR' dept_name,'INDIA' location, 45000 sal FROM dual UNION ALL SELECT 5 id, 'Mac' name,20 dept_no,'FIRE' dept_name,'INDIA' location, 567000 sal FROM dual UNION ALL SELECT 6 id, 'Ruth' name,30 dept_no,'HEALTH' dept_name,'INDIA' location, 5600 sal FROM dual UNION ALL SELECT 8 id, 'bill' name, 40 dept_no,'WATER' dept_name,'INDIA' location, 158750 sal FROM dual SELECT 9 id, 'Juli' name,NULL dept_no,NULL dept_name,NULL location, 158750 sal FROM dual ) SELECT * FROM names;
Ich hoffe, Ihnen gefällt dieser Inhalt der Insert-Anweisung in Oracle. Ich habe verschiedene Möglichkeiten erklärt, wie Einfügungen in die Tabellen mit zahlreichen Beispielen durchgeführt werden können.
Verwandte Artikel
Update-Anweisung in Oracle:Wir verwenden die Update-Anweisung in Oracle, um die vorhandenen Zeilen in der Oracle-Tabelle in der Oracle-Datenbank zu ändern. Update kann auf mehrere Arten ausgeführt werden
Delete from table-Anweisung in Oracle:Delete from the table in Oracle wird verwendet, um die Zeilen zu löschen. DELETE-Zeilen können mit der EXISTS/NOT EXISTS-Klausel, Tabelle basierend auf einer Unterabfrage, Kaskade ausgeführt werden der Tabellenspalte, ändern Sie die Speicherparameter der Tabelle. Einzelheiten über die Funktion zum schnellen Hinzufügen von Spalten, die in Oracle 11g eingeführt wurde, finden Sie auch in der
Oracle-Dokumentation zum Einfügen