Introduktion til INSERT i Oracle
I denne artikel skal vi lære om INSERT-forespørgslen i ORACLE. Som navnet antyder INSERT forespørgsel bruges til at tilføje / indsætte enkelt eller flere poster i en tabel. Det er en DML-erklæring. DML betyder datamanipulation. Det er en af de ofte anvendte Oracle-forespørgsler til løsning af problemer. Et punkt at bemærke er, at når vi bruger INSERT, skal vi angive en værdi for hver NOT NULL-kolonne, men hvis kolonnen tillader NULL-værdier, kan vi udelade kolonnen.
Syntaks
INSERT-forespørgslen har en temmelig enkel syntaks, som vi vil se nedenfor,
- Indsættelse af en enkelt post ved hjælp af nøgleordet VALUES.
Syntaks:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Indsættelse af flere poster ved hjælp af SELECT-nøgleordet.
Syntaks:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parametre til INSERT-erklæring i Oracle
Nedenfor er de forskellige parametre i INSERT-erklæring i Oracle:
- tabelnavn: Navnet på den tabel, hvor vi vil indsætte værdierne.
- (kolonne1, kolonne2, ……, kolonne_n): kolonner, hvor vi vil indsætte værdier
- (expression1, expression2, expression3, expression_n): Der er de værdier, som vi vil indsætte i de respektive kolonner.
- source_table: Dette er tabellen, hvorfra vi vil udtrække data, der skal indsættes i den aktuelle tabel.
- (hvor betingelse): Denne betingelse er valgfri. Det bruges, når vi vil indsætte data baseret på en eller anden betingelse.
Eksempler på implementering af INSERT-erklæring i Oracle
Følgende er de forskellige eksempler på implementering af insert-sætningen i oracle:
Eksempel # 1 - INDSÆT ved hjælp af VÆRDIER Nøgleord
Dette er den nemmeste måde at bruge INSERT-kommandoen. I dette tilfælde indsætter vi dybest set værdier ved at give reelle værdier pr. Kolonner. Vi kan bruge det på begge måder ved at angive de kolonner, som vi vil indtaste i eller uden at angive kolonnerne. Hvis vi leverer kolonnerne, indsættes værdierne pr. Rækkefølge af kolonner, vi leverede. Vi vil undersøge begge måder ved hjælp af eksempler.
Forespørgsel:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Nu har vi efterladt en kolonne her, som er vehicle_id. Så automatisk indsættes null i det.
Nedenstående billede viser tabeldataene, efter at data er indsat.
Som du kan se, er den sidste kolonne i den sidste post null. Nu vil vi ikke nævne kolonnerne, bare bruge VALUES-nøgleordet med INSERT.
Forespørgsel:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Som du kan se, har vi ikke angivet kolonnerne. Lad os se på tabelværdierne efter at have udført insert-kommandoen.
Som du kan se, er den sidste post indsat i tabellen efter udførelsen af INSERT-forespørgslen.
Eksempel # 2 - INDSÆT ved hjælp af et SELECT nøgleord med betingelsen
Dette er meget nyttigt, når vi vil lave flere indsatser i en tabel. I dette bruger vi en SELECT-sætning til at indsætte data til vores tabel ved at udtrække data fra en anden tabel. Vi kan også sætte betingelser i forespørgslen, hvis vi vil have dataene indsat baseret på en eller anden betingelse.
Vi vil se nogle eksempler nedenfor, der viser os, hvordan man bruger INSERT med SELECT.
Forespørgsel:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
I ovenstående forespørgsel indsætter vi faktisk i tabelkøretøjet ved at udtrække data fra en anden tabelmedarbejder på baggrund af betingelsen om, at kun de poster, der har værdi som Lexus i kolonnen køretøjsnavn for tabelansatte, er berettigede til at blive uddraget og derefter indsat i køretøjsbord. Så når vi udfører ovenstående forespørgsel, vil alle poster, der har køretøjsnavn som Lexus i tabelmedarbejder, blive indsat i bordkøretøjet. I vores tilfælde havde vi kun en sådan post, så hvis du ser skærmbilledet, vil du se, at konsollen siger "1 post indsat".
Eksempel 3 - Brug af INSERT ALL på en enkelt tabel
Denne erklæring bruges, når vi vil tilføje flere poster i en enkelt tabel ved hjælp af en enkelt INSERT-sætning. I stedet for at bruge INTO vil vi bruge ALL INTO med INSERT for at opnå dette. Antag som et eksempel, at vi har et bordkøretøj, og vi vil indsætte to poster i det. Hvis vi bruger INSERT INTO, skal vi skrive to indsæt forespørgsler, men med INSERT ALL skal vi kun skrive en forespørgsel. Lad os se på forespørgslen efter det
Forespørgsel:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Som du kan se i ovennævnte forespørgsel indsætter vi to poster ved hjælp af en enkelt INSERT-sætning. Hvis vi ville have skrevet den samme forespørgsel ved hjælp af INSERT INTO-udsagn, ville det have været som skrevet nedenfor,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Produktion:
Som du kan se ved eksekvering giver forespørgselskonsollen et output, der “2 rækker indsat”.
Eksempel 4 - Brug af INSERT ALL på flere tabeller
Vi kan også bruge INSERT ALL-sætningen til at indsætte data i flere tabeller. Syntaks vil være den samme, og vi skal bare erstatte tabelnavne og deres tilsvarende kolonner og værdier. Antag, at for eksempel, hvis vi vil indsætte data i både ansatte og køretøjstabellen, ville følgende forespørgsel gøre jobbet.
Forespørgsel:
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;
Som du kan se i ovenstående forespørgsel, har vi netop ændret tabelnavnet og i overensstemmelse hermed deres kolonner og værdier. Hvis vi ville have skrevet den samme forespørgsel ved hjælp af INSERT INTO-udsagn, ville det have været som skrevet nedenfor,
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');
Produktion:
Som du kan se på udførelsen af forespørgselskonsollen giver et output, der "2 rækker indsat".
Anbefalede artikler
Dette er en guide til INSERT i Oracle. I denne artikel diskuterer vi, hvad der er INSERT-sætning, syntakser og forskellige måder, hvorpå vi kan bruge INSERT-sætningen sammen med deres passende eksempler. Du kan også se på de følgende artikler for at lære mere-
- Eksempler på SQL Indsæt forespørgsel
- Hvordan GROUP BY-klausul fungerer i SQL?
- Top 5 forespørgsler i Oracle
- Komplet guide til Oracle Data Warehousing