Inleiding tot INSERT in Oracle
In dit artikel gaan we meer te weten komen over de INSERT-query in ORACLE. Zoals de naam suggereert, wordt INSERT-query gebruikt om enkele of meerdere records in een tabel toe te voegen / in te voegen. Het is een DML-statement. DML betekent gegevensmanipulatie. Het is een van de meest gebruikte Oracle-vragen om problemen op te lossen. Een punt om op te merken is dat we bij het gebruik van INSERT een waarde moeten opgeven voor elke NIET NULL-kolom, maar als de kolom NULL-waarden toestaat, kunnen we de kolom weglaten.
Syntaxis
De INSERT-zoekopdracht heeft een vrij eenvoudige syntaxis zoals we hieronder zullen zien,
- Eén record invoegen met behulp van het sleutelwoord VALUES.
Syntaxis:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Meerdere records invoegen met het sleutelwoord SELECT.
Syntaxis:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parameters van INSERT-instructie in Oracle
Hieronder staan de verschillende parameters van INSERT Statement in Oracle:
- tabelnaam: de naam van de tabel waarin we de waarden willen invoegen.
- (kolom1, kolom2, … …, kolom_n): kolommen waarin we waarden willen invoegen
- (expression1, expression2, expression3, expression_n): Er zijn waarden die we in de respectieve kolommen willen invoegen.
- source_table: Dit is de tabel waaruit we gegevens extraheren om in de huidige tabel in te voegen.
- (waar staat): deze staat is optioneel. Het wordt gebruikt wanneer we gegevens willen invoegen op basis van een voorwaarde.
Voorbeelden om de INSERT-instructie in Oracle te implementeren
Hier volgen de verschillende voorbeelden om de invoeginstructie in Oracle te implementeren:
Voorbeeld # 1 - PLAATSEN met behulp van WAARDEN trefwoord
Dit is de eenvoudigste manier om de opdracht INSERT te gebruiken. In dit geval voegen we in feite waarden in door reële waarden te geven volgens de kolommen. We kunnen het op beide manieren gebruiken door de kolommen op te geven waarin we willen invoeren of zonder de kolommen op te geven. Als we de kolommen opgeven, worden de waarden ingevoegd volgens de volgorde van de kolommen die we hebben opgegeven. We zullen beide manieren onderzoeken met behulp van voorbeelden.
Query:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Nu hebben we hier één kolom achtergelaten die voertuig_id is. Er wordt dus automatisch null ingevoegd.
De onderstaande afbeelding toont de tabelgegevens nadat de gegevens zijn ingevoegd.
Zoals u kunt zien, is de laatste kolom in het laatste record null. Nu zullen we de kolommen niet noemen, gebruik gewoon het sleutelwoord VALUES met INSERT.
Query:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Zoals u kunt zien, hebben we de kolommen niet verstrekt. Laten we de tabelwaarden bekijken na het uitvoeren van de opdracht invoegen.
Zoals u kunt zien, is het laatste record in de tabel ingevoegd na de uitvoering van de INSERT-query.
Voorbeeld # 2 - VOEG een SELECT-sleutelwoord in met de voorwaarde
Dit is erg handig als we meerdere invoegingen in een tabel willen doen. Hierin gebruiken we een SELECT-instructie om gegevens in onze tabel in te voegen door gegevens uit een andere tabel te extraheren. We kunnen ook voorwaarden in de query plaatsen als we willen dat de gegevens worden ingevoegd op basis van een voorwaarde.
We zullen hieronder enkele voorbeelden zien die ons laten zien hoe INSERT te gebruiken met SELECT.
Query:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
In de bovenstaande query voegen we in feite het tabelvoertuig in door gegevens van een andere tabelmedewerker te extraheren op basis van de voorwaarde dat alleen die records met de waarde Lexus in de kolom voertuignaam van tabelmedewerkers in aanmerking komen om te worden geëxtraheerd en vervolgens in de voertuig tafel. Dus wanneer we de bovenstaande query uitvoeren, worden alle records die voertuignaam als Lexus in tabelwerknemer hebben, in het tafelvoertuig ingevoegd. In ons geval hadden we maar één record, dus als je de screenshot ziet, zie je dat de console zegt: "1 record geplaatst".
Voorbeeld # 3 - ALLES INVOEGEN gebruiken op een enkele tabel
Deze instructie wordt gebruikt wanneer we meerdere records aan een enkele tabel willen toevoegen met behulp van een enkele INSERT-instructie. In plaats van INTO te gebruiken, gaan we ALL INTO met INSERT gebruiken om dit te bereiken. Stel dat we een tafelvoertuig hebben en daar twee records in willen invoegen. Als we INSERT INTO gebruiken, moeten we twee invoegquery's schrijven, maar met INSERT ALL hoeven we maar één query te schrijven. Laten we daarvoor de vraag bekijken
Query:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Zoals u in de bovenstaande query kunt zien, voegen we twee records in met behulp van een enkele INSERT-instructie. Als we met de instructie INSERT INTO dezelfde zoekopdracht zouden hebben geschreven, zou deze zijn zoals hieronder geschreven,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Output:
Zoals u kunt zien bij het uitvoeren van de queryconsole biedt een uitvoer die "2 rijen ingevoegd".
Voorbeeld # 4 - ALLES INVOEGEN op meerdere tabellen
We kunnen ook de instructie INSERT ALL gebruiken om gegevens in meerdere tabellen in te voegen. De syntaxis zal hetzelfde zijn en we moeten alleen de tabelnamen en hun overeenkomstige kolommen en waarden vervangen. Stel dat we bijvoorbeeld gegevens in zowel werknemers als in de voertuigtabel willen invoegen, dan zou de volgende query voldoende zijn.
Query:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki')
INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009')
SELECT * FROM dual;
Zoals u in de bovenstaande query kunt zien, hebben we zojuist de tabelnaam en de bijbehorende kolommen en waarden gewijzigd. Als we met de instructie INSERT INTO dezelfde zoekopdracht zouden hebben geschreven, zou deze zijn zoals hieronder geschreven,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH009', 'Suzuki');
INSERT INTO employee(employee_id, name, vehicle_name, vehicle_id) VALUES('AD012', 'Suresh', 'Suzuki', 'VH009');
Output:
Zoals u kunt zien bij het uitvoeren van de queryconsole biedt een uitvoer die "2 rijen ingevoegd".
Aanbevolen artikelen
Dit is een gids voor INSERT in Oracle. In dit artikel bespreken we wat INSERT-instructie is, syntaxis en verschillende manieren waarop we de INSERT-instructie kunnen gebruiken, samen met de juiste voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie-
- Voorbeelden van SQL-invoegquery
- Hoe GROUP BY-clausule werkt in SQL?
- Top 5 zoekopdrachten in Oracle
- Volledige gids voor Oracle Data Warehousing