Introduktion till INSERT i Oracle
I den här artikeln ska vi lära dig INSERT-frågan i ORACLE. Som namnet antyder används INSERT-fråga för att lägga till / infoga enstaka eller flera poster i en tabell. Det är ett DML-uttalande. DML betyder datahantering. Det är en av de ofta använda Oracle-frågorna för att lösa problem. En punkt att notera är att när vi använder INSERT måste vi tillhandahålla ett värde för varje INTE NULL-kolumn men om kolumnen tillåter NULL-värden kan vi utelämna kolumnen.
Syntax
INSERT-frågan har en ganska enkel syntax som vi ser nedan,
- Infoga en enda post med hjälp av nyckelordet VALUES.
Syntax:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Infoga flera poster med SELECT-nyckelordet.
Syntax:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parametrar för INSERT-uttalande i Oracle
Nedan är de olika parametrarna för INSERT-uttalande i Oracle:
- tabellnamn: Namnet på tabellen där vi vill infoga värdena.
- (kolumn1, kolumn2, … …, kolumn_n): kolumner där vi vill infoga värden
- (expression1, expression2, expression3, expression_n): Det finns de värden som vi vill infoga i respektive kolumner.
- source_table: Detta är tabellen där vi extraherar data för att infoga i den aktuella tabellen.
- (där villkor): Detta villkor är valfritt. Det används när vi vill infoga data baserat på något tillstånd.
Exempel på implementering av INSERT-uttalande i Oracle
Följande är de olika exemplen för att implementera insert-uttalandet i oracle:
Exempel 1 - INSERT med hjälp av VÄRDERINGEN Nyckelord
Detta är det enklaste sättet att använda INSERT-kommandot. I detta fall infogar vi i princip värden genom att ge verkliga värden enligt kolumnerna. Vi kan använda det båda sätten genom att tillhandahålla de kolumner som vi vill ange eller utan att tillhandahålla kolumnerna. Om vi tillhandahåller kolumnerna kommer värdena att infogas enligt ordningen på kolumner som vi angav. Vi kommer att undersöka båda sätten med hjälp av exempel.
Fråga:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Nu har vi lämnat en kolumn här som är vehicle_id. Så automatiskt sätts null in i den.
Bilden nedan visar tabelldata efter att data har lagts in.
Som du kan se är den sista kolumnen i den sista posten noll. Nu kommer vi inte att nämna kolumnerna utan bara använda nyckelordet VALUES med INSERT.
Fråga:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Som ni ser har vi inte angett kolumnerna. Låt oss titta på tabellvärdena efter att ha genomfört insert-kommandot.
Som ni ser har den sista posten infogats i tabellen efter körningen av INSERT-frågan.
Exempel 2 - INSERT med ett VÄLJ nyckelord med villkoret
Detta är mycket användbart när vi vill göra flera inlägg i en tabell. I detta använder vi en SELECT-sats för att infoga data i vår tabell genom att extrahera data från en annan tabell. Vi kan också sätta villkor i frågan om vi vill att data ska infogas baserat på vissa villkor.
Vi ser några exempel nedan som visar oss hur man använder INSERT med SELECT.
Fråga:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
I ovanstående fråga infogar vi faktiskt i tabellfordonet genom att extrahera data från en annan tabellsanställd baserat på villkoret att endast de poster som har värde som Lexus i kolumnfordonets namn på tabellsanställda är berättigade till att extraheras och sedan infogas i fordonsbord. Så när vi utför ovanstående fråga kommer alla poster som har fordonsnamn som Lexus i tabellmedarbetare infogas i tabellfordonet. I vårt fall hade vi bara en sådan post så om du ser skärmdumpen ser du att konsolen säger ”1 post insatt”.
Exempel 3 - Använd INSERT ALL på ett enda bord
Detta uttalande används när vi vill lägga till flera poster i en enda tabell med ett enda INSERT-uttalande. Istället för att använda INTO kommer vi att använda ALL INTO med INSERT för att uppnå detta. Anta som ett exempel att vi har ett bordfordon och vi vill infoga två poster i det. Om vi använder INSERT INTO måste vi skriva två infogningsfrågor men med INSERT ALL måste vi bara skriva en fråga. Låt oss titta på frågan för det
Fråga:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Som ni ser i ovanstående fråga infogar vi två poster med ett enda INSERT-uttalande. Om vi skulle ha skrivit samma fråga med INSERT INTO-uttalande skulle det ha varit som skrivet nedan,
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 vid körning av frågekonsolen tillhandahåller en utgång som "2 rader isatt".
Exempel 4 - Använd INSERT ALL på flera tabeller
Vi kan också använda INSERT ALL-sats för att infoga data i flera tabeller. Syntaxen kommer att vara densamma och vi måste bara ersätta tabellnamnen och deras motsvarande kolumner och värden. Anta till exempel att om vi vill infoga data i såväl anställda som fordonstabellen skulle följande fråga göra jobbet.
Fråga:
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 ni ser i ovanstående fråga har vi precis ändrat tabellnamnet och i enlighet med deras kolumner och värden. Om vi skulle ha skrivit samma fråga med INSERT INTO-uttalande skulle det ha varit som skrivet nedan,
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 vid körning av frågekonsolen tillhandahåller en utgång som "2 rader isatt".
Rekommenderade artiklar
Detta är en guide till INSERT i Oracle. I den här artikeln diskuterar vi vad som är INSERT-uttalande, syntaxer och olika sätt på vilka vi kan använda INSERT-uttalandet tillsammans med lämpliga exempel. Du kan också titta på följande artiklar för att lära dig mer-
- Exempel på SQL Insert Query
- Hur GROUP BY-klausul fungerar i SQL?
- Topp 5 frågor i Oracle
- Komplett guide till Oracle Data Warehousing