Bevezetés az INSERT-hez az Oracle-ban
Ebben a cikkben megismerjük az INSERT lekérdezést az ORACLE-ban. Mint a neve is sugallja, az INSERT lekérdezés egy vagy több rekord hozzáadására / beillesztésére szolgál egy táblázatban. Ez egy DML utasítás. DML: adatmanipuláció. Ez az egyik gyakran használt Oracle lekérdezés a problémák megoldására. Megjegyzendő, hogy az INSERT használatakor minden NOT NULL oszlophoz értéket kell adnunk, de ha az oszlop NULL értékeket engedélyez, akkor az oszlopot kihagyhatjuk.
Szintaxis
Az INSERT lekérdezés elég egyszerű szintaxissal rendelkezik, amint azt alább látjuk,
- Egyetlen rekord beszúrása az ÉRTÉKEK kulcsszóval.
Szintaxis:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Több rekord beszúrása a SELECT kulcsszóval.
Szintaxis:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Az INSERT nyilatkozat paraméterei az Oracle-ban
Az alábbiakban bemutatjuk az INSERT Statement különféle paramétereit az Oracle-ben:
- table_name: A tábla neve, amelybe be akarjuk illeszteni az értékeket.
- (1. oszlop, 2. oszlop, ……, oszlop_n): oszlopok, amelyekbe értékeket akarunk beilleszteni
- (kifejezés1, kifejezés2, kifejezés3, kifejezés_n): Vannak az értékek, amelyeket be akarunk illeszteni a megfelelő oszlopokba.
- source_table: Ez a táblázat, ahonnan kinyerünk adatokat az aktuális táblába való beillesztéshez.
- (ahol feltétel): Ez a feltétel nem kötelező. Ezt akkor használják, amikor valamilyen feltétel alapján adatokat akarunk beszúrni.
Példák az INSERT nyilatkozat végrehajtására az Oracle-ben
Az alábbiakban bemutatjuk a különféle példákat az beszúrás nyilatkozat megvalósításához az oraklusban:
1. példa - Helyezze be az ÉRTÉKEK kulcsszót
Ez az INSERT parancs legegyszerűbb módja. Ebben az esetben az értékeket alapvetõen beszúrjuk az oszlopok szerinti valós értékek megadásával. Mindkét módon felhasználhatjuk azokat az oszlopokat, amelyekbe be akarunk lépni, vagy az oszlopok megadása nélkül. Ha megadjuk az oszlopokat, akkor az értékek a megadott oszlopok sorrendjében kerülnek beillesztésre. Példák segítségével mindkét szempontot megvizsgáljuk.
Lekérdezés:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Most egy oszlopot hagytunk itt, amely a jármű_id. Tehát automatikusan a null kerül beillesztésre.
Az alábbi kép a táblázat adatait mutatja be az adatok beszúrása után.
Mint láthatja az utolsó rekord utolsó oszlopa semleges. Most nem említjük az oszlopokat, csak az ÉRTÉK kulcsszót használjuk az INSERT segítségével.
Lekérdezés:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Mint láthatja, nem adtuk meg az oszlopokat. Nézzük meg a tábla értékeit az insert parancs végrehajtása után.
Mint láthatja, az INSERT lekérdezés végrehajtása után az utolsó rekord került a táblába.
2. példa - BEÍRÁS SELECT kulcsszó használata feltétel mellett
Ez nagyon hasznos, ha több beszúrást akarunk végrehajtani egy táblázatban. Ebben a SELECT utasítással adatot szúrunk be a táblázatba az adatok kinyerésével egy másik táblából. Feltételeket is tehetünk a lekérdezésbe, ha azt akarjuk, hogy az adatok beillesztésre kerüljenek valamilyen feltétel alapján.
Az alábbiakban néhány példát látunk, amelyek megmutatják, hogyan kell használni az INSERT-et a SELECT-sel.
Lekérdezés:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
A fenti lekérdezésben valóban beillesztjük az asztali járművet az adatok kinyerésével egy másik asztali alkalmazotttól azzal a feltétellel, hogy csak azok a rekordok jogosultak kibontásra, amelyek beillesztésre kerülnek, és amelyek az asztaltag alkalmazottak járműneve oszlopban Lexus értékűek, és beilleszthetők a jármű asztal. Tehát, amikor végrehajtjuk a fenti lekérdezést, az összes rekord, amelynek jármű_neve Lexus a tábla alkalmazottjában, beillesztésre kerül az asztali járműbe. Esetünkben csak egy ilyen rekord volt, tehát ha megtekinti a képernyőképet, látni fogja, hogy a konzol „1 rekord behelyezve”.
3. példa - Az INSERT ALL használata egyetlen táblán
Ezt az állítást akkor használjuk, ha több rekordot szeretnénk hozzáadni egy táblázathoz egyetlen INSERT utasítás használatával. Az INTO használata helyett az ALL INTO-t az INSERT-rel fogjuk használni ennek elérésére. Például tegyük fel, hogy van asztali járműünk, és két rekordot akarunk beilleszteni bele. Ha INSERT INTO-t használunk, akkor két beszúrási lekérdezést kell írnunk, de az INSERT ALL-val csak egy lekérdezést kell írnunk. Nézzük meg erre a kérdésre
Lekérdezés:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Mint látható a fenti lekérdezésből, két rekordot illesztünk be egyetlen INSERT utasítás használatával. Ha ugyanazt a lekérdezést írtuk volna az INSERT INTO nyilatkozattal, az lentebb lenne,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Kimenet:
Mint láthatja a lekérdezési konzol végrehajtásakor, „2 sor beszúrva” kimenetet biztosít.
4. példa - Az INSERT ALL használata több táblán
Az INSERT ALL utasítást felhasználhatjuk az adatok több táblára történő beszúrására is. A szintaxis ugyanaz lesz, és csak ki kell cserélnünk a táblaneveket és a hozzájuk tartozó oszlopokat és értékeket. Tegyük fel például, hogy ha mindkét alkalmazottba be szeretnénk illeszteni az adatokat, valamint a járműtáblát, akkor a következő lekérdezés elvégzi a munkát.
Lekérdezés:
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;
Amint a fenti lekérdezésből láthatjuk, éppen megváltoztattuk a tábla nevét és ennek megfelelően oszlopaikat és értékeiket. Ha ugyanazt a lekérdezést írtuk volna az INSERT INTO nyilatkozattal, az lentebb lenne,
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');
Kimenet:
Mint láthatja a lekérdezési konzol végrehajtásakor, „2 sor beszúrva” kimenetet biztosít.
Ajánlott cikkek
Ez egy útmutató az INSERT-hez az Oracle-ben. Ebben a cikkben megvitatjuk, mi az INSERT nyilatkozat, a szintaxisok és az INSERT utasítás felhasználásának különféle módjai, a megfelelő példákkal együtt. A következő cikkeket is megnézheti további információkért -
- Példák az SQL beszúrási lekérdezésre
- Hogyan működik a GROUP BY záradék az SQL-ben?
- Az Oracle első öt lekérdezése
- Teljes útmutató az Oracle Adattároláshoz