Uvod v INSERT v Oracleu
V tem članku bomo spoznali poizvedbo VNOS v ORACLE. Kot že ime pove, se INSERT poizvedba uporablja za dodajanje / vstavljanje posameznih ali več zapisov v tabelo. Gre za stavek DML. Srednja vrednost DML manipulacija podatkov. To je ena izmed pogosto uporabljanih Oracle poizvedb za reševanje težav. Treba je opozoriti, da moramo pri uporabi INSERT-ja navesti vrednost za vsak stolpec NOT NULL, če pa stolpec omogoča vrednosti NULL, lahko stolpec izpustimo.
Sintaksa
Poizvedba INSERT ima precej preprosto skladnjo, kot bomo videli spodaj,
- Vstavljanje enega samega zapisa s ključno besedo VALUES.
Sintaksa:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Vstavljanje več zapisov s ključno besedo SELECT.
Sintaksa:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parametri izjave INSERT v Oracleu
Spodaj so prikazani različni parametri INSERT izjave v Oracleu:
- table_name: ime tabele, v katero želimo vstaviti vrednosti.
- (stolpec1, stolpec2, ……, stolpec_n): stolpci, v katere želimo vstaviti vrednosti
- (izraz1, izraz2, izraz3, izraz_n): Obstajajo vrednosti, ki jih želimo vstaviti v ustrezne stolpce.
- source_table: To je tabela, iz katere bomo črpali podatke, ki jih bomo vstavili v trenutno tabelo.
- (kjer je pogoj): Ta pogoj ni obvezen. Uporablja se, kadar želimo vstaviti podatke na podlagi nekega pogoja.
Primeri za izvajanje INSERT izjave v Oracle
Sledijo različni primeri za izvajanje vstavitve izjave v oracle:
Primer # 1 - VSTAVITE uporabo ključne besede VALUES
To je najlažji način uporabe ukaza INSERT. V tem primeru v osnovi vstavimo vrednosti tako, da damo realne vrednosti po stolpcih. Uporabljamo ga lahko na oba načina, tako da zagotovimo stolpce, v katere želimo vnesti stolpce, ali brez dajanja stolpcev. Če navedemo stolpce, bodo vrednosti vstavljene po vrstnem redu stolpcev, ki smo jih navedli. Obema bomo pogledali s pomočjo primerov.
Poizvedba:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Zdaj smo tukaj pustili en stolpec, ki je Veh_id. Torej bo samodejno ničlo vstavljeno vanj.
Spodnja slika nam prikazuje podatke tabele po vstavitvi podatkov.
Kot lahko vidite zadnji stolpec v zadnjem zapisu je ničen. Zdaj ne bomo omenjali stolpcev, samo z INSERT uporabimo ključno besedo VALUES.
Poizvedba:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Kot vidite, stolpcev nismo navedli. Poglejmo vrednosti tabele po izvedbi ukaza.
Kot lahko vidite, je bil zadnji zapis vstavljen v tabelo po izvedbi poizvedbe INSERT.
Primer # 2 - VSTAVITE uporabo ključne besede SELECT s pogojem
To je zelo koristno, kadar želimo narediti več vstavkov v tabeli. Pri tem uporabljamo stavek SELECT za vstavljanje podatkov v našo tabelo tako, da izvlečemo podatke iz druge tabele. V poizvedbo lahko postavimo tudi pogoje, če želimo, da se podatki vstavijo na podlagi nekega pogoja.
Spodaj bomo videli nekaj primerov, ki nam pokažejo, kako uporabljati INSERT s sistemom SELECT.
Poizvedba:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
Zgornja poizvedba dejansko vstavljamo v vozilo tabele tako, da izvlečemo podatke drugega zaposlenega v tabeli na podlagi pogoja, da so samo tisti zapisi, ki imajo vrednost stolpca Lexus v stolpcu_ime vozila zaposlenih, primerni za pridobitev in nato vstavljeni v miza vozila. Ko bomo izvedli zgornjo poizvedbo, se bodo vsi zapisi, ki imajo Lexus v uslužbencu tabele, ime vozila kot Lexus, vstavili v vozilo tabele. V našem primeru smo imeli samo en tak zapis, tako da, če vidite posnetek zaslona, boste videli, da na konzoli piše "vstavljen 1 zapis".
Primer # 3 - Uporaba INSERT ALL na eni tabeli
Ta stavek se uporablja, kadar želimo z eno samo stavko INSERT dodati eno zapis v eno tabelo. Namesto da uporabimo INTO, bomo za dosego tega uporabili VSE INTO z INSERT. Recimo za primer, da imamo tabelo in želimo vanj vstaviti dva zapisa. Če uporabimo INSERT INTO, moramo napisati dve poizvedbi, vendar z INSERT ALL moramo napisati samo eno poizvedbo. Poglejmo poizvedbo za to
Poizvedba:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Kot lahko vidite v zgornji poizvedbi, vstavimo dva zapisa z eno samo stavko INSERT. Če bi s poizvedbo INSERT INTO napisali isto poizvedbo, bi bilo tako, kot je napisano spodaj,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Izhod:
Kot lahko vidite pri izvajanju poizvedbene konzole, dobite izhod, ki je vstavljen "2 vrstici".
Primer # 4 - Uporaba INSERT ALL na več tabelah
Za vstavljanje podatkov v več tabel lahko uporabimo tudi stavek INSERT ALL. Sintaksa bo enaka in preprosto moramo nadomestiti imena tabel in njihove ustrezne stolpce in vrednosti. Recimo, če želimo na primer vstaviti podatke tako za zaposlene kot tudi za tabelo vozil, bi naslednja poizvedba opravila nalogo.
Poizvedba:
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;
Kot lahko vidite v zgornji poizvedbi, smo pravkar spremenili ime tabele in v skladu s tem njihove stolpce in vrednosti. Če bi s poizvedbo INSERT INTO napisali isto poizvedbo, bi bilo tako, kot je napisano spodaj,
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');
Izhod:
Kot lahko vidite pri izvajanju poizvedbene konzole, dobite izhod, ki je vstavljen "2 vrstici".
Priporočeni članki
To je vodnik za INSERT v Oracleu. V tem članku razpravljamo, kaj je stavek INSERT, sintakse in različne načine, kako lahko uporabimo stavek INSERT skupaj z ustreznimi primeri. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Primeri poizvedbe za vstavljanje SQL
- Kako stavek GROUP BY deluje v SQL?
- Najboljših 5 poizvedb v storitvi Oracle
- Celoten vodnik za skladiščenje podatkov Oracle