Introduzione a INSERT in Oracle
In questo articolo, impareremo a conoscere la query INSERT in ORACLE. Come suggerisce il nome, la query INSERT viene utilizzata per aggiungere / inserire record singoli o multipli in una tabella. È un'istruzione DML. DML significa manipolazione dei dati. È una delle query Oracle utilizzate di frequente per risolvere i problemi. Un punto da notare è che quando si utilizza INSERT è necessario fornire un valore per ogni colonna NOT NULL ma se la colonna consente valori NULL, è possibile omettere la colonna.
Sintassi
La query INSERT ha una sintassi piuttosto semplice, come vedremo di seguito,
- Inserimento di un singolo record utilizzando la parola chiave VALUES.
Sintassi:
INSERT INTO table_name
(column1, column2, ……, column_n)
VALUES
(expression1, expression2, expression3, expression_n);
- Inserimento di più record utilizzando la parola chiave SELECT.
Sintassi:
INSERT INTO table_name
(column1, column2, ……, column_n)
SELECT expression_1, expression_2, ……., expression_n
FROM source_table
(WHERE conditions);
Parametri dell'istruzione INSERT in Oracle
Di seguito sono riportati i diversi parametri dell'istruzione INSERT in Oracle:
- table_name: il nome della tabella in cui vogliamo inserire i valori.
- (colonna1, colonna2, ……, colonna_n): colonne in cui vogliamo inserire valori
- (espressione1, espressione2, espressione3, espressione_n): ci sono i valori che vogliamo inserire nelle rispettive colonne.
- source_table: questa è la tabella da cui estrarremo i dati da inserire nella tabella corrente.
- (dove condizione): questa condizione è facoltativa. Viene utilizzato quando si desidera inserire dati in base a una condizione.
Esempi di implementazione dell'istruzione INSERT in Oracle
Di seguito sono riportati i diversi esempi per implementare l'istruzione insert in Oracle:
Esempio n. 1 - INSERISCI usando la parola chiave VALUES
Questo è il modo più semplice di usare il comando INSERT. In questo caso, in pratica inseriamo valori fornendo valori reali secondo le colonne. Possiamo usarlo in entrambi i modi fornendo le colonne in cui vogliamo entrare o senza fornire le colonne. Se forniamo le colonne, i valori verranno inseriti secondo l'ordine delle colonne che abbiamo fornito. Esamineremo entrambi i modi con l'aiuto di esempi.
Query:
INSERT INTO employee (employee_id, name, vehicle_name) VALUES('AD010', 'Sharmishtha', 'Hector');
Ora abbiamo lasciato una colonna qui che è vehicle_id. Quindi automaticamente verrà inserito null.
L'immagine seguente mostra i dati della tabella dopo che i dati sono stati inseriti.
Come puoi vedere, l'ultima colonna dell'ultimo record è nulla. Ora non menzioneremo le colonne, ma solo la parola chiave VALUES con INSERT.
Query:
INSERT INTO employee VALUES('AD011', 'Shweta', 'Lexus', 'VH011');
Come puoi vedere non abbiamo fornito le colonne. Esaminiamo i valori della tabella dopo aver eseguito il comando insert.
Come puoi vedere l'ultimo record è stato inserito nella tabella dopo l'esecuzione della query INSERT.
Esempio n. 2 - INSERISCI usando una parola chiave SELECT con la condizione
Questo è molto utile quando vogliamo fare più inserimenti in una tabella. In questo, usiamo un'istruzione SELECT per inserire dati nella nostra tabella estraendo i dati da un'altra tabella. Possiamo anche inserire condizioni nella query se vogliamo che i dati vengano inseriti in base a qualche condizione.
Di seguito vedremo alcuni esempi che ci mostrano come utilizzare INSERT con SELECT.
Query:
INSERT INTO vehicle(vehicle_id, VEHICLE_NAME) SELECT vehicle_id, vehicle_name from employee where Vehicle_name = 'Lexus';
Nella query sopra, stiamo effettivamente inserendo nel veicolo tabella estraendo i dati da un altro impiegato della tabella in base alla condizione che solo i record che hanno valore come Lexus nella colonna nome_moto dei dipendenti della tabella sono idonei a essere estratti e quindi inseriti nella tabella del veicolo. Pertanto, quando eseguiamo la query sopra, tutti i record che hanno nome_voglio come Lexus nell'impiegato della tabella verranno inseriti nel veicolo della tabella. Nel nostro caso, avevamo solo un record del genere, quindi se vedi lo screenshot vedrai che la console dice "1 record inserito".
Esempio n. 3: utilizzo di INSERISCI TUTTO su una singola tabella
Questa istruzione viene utilizzata quando si desidera aggiungere più record in una singola tabella utilizzando una singola istruzione INSERT. Invece di usare INTO useremo ALL INTO con INSERT per raggiungere questo obiettivo. Ad esempio supponiamo di avere un veicolo da tavolo e che vogliamo inserire due record in esso. Se utilizziamo INSERT INTO, allora dobbiamo scrivere due query di inserimento, ma con INSERT ALL dobbiamo solo scrivere una query. Diamo un'occhiata alla query per questo
Query:
INSERT ALL
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
SELECT * FROM dual;
Come puoi vedere nella query sopra, stiamo inserendo due record usando una singola istruzione INSERT. Se avessimo scritto la stessa query utilizzando l'istruzione INSERT INTO, sarebbe stata la seguente,
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH007', TATA)
INSERT INTO vehicle(vehicle_id, vehicle_name) VALUES('VH008', 'Mahindra')
Produzione:
Come puoi vedere nell'esecuzione della console di query fornisce un output che "2 righe inserite".
Esempio n. 4: utilizzo di INSERT ALL su più tabelle
Possiamo anche usare l'istruzione INSERT ALL per inserire dati su più tabelle. La sintassi sarà la stessa e non ci resta che sostituire i nomi delle tabelle e le rispettive colonne e valori. Supponiamo, ad esempio, se vogliamo inserire dati in entrambi i dipendenti e nella tabella del veicolo, quindi la query seguente farebbe il lavoro.
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;
Come puoi vedere nella query sopra abbiamo appena cambiato il nome della tabella e di conseguenza le loro colonne e valori. Se avessimo scritto la stessa query utilizzando l'istruzione INSERT INTO, sarebbe stata la seguente,
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');
Produzione:
Come puoi vedere nell'esecuzione della console di query fornisce un output che "2 righe inserite".
Articoli consigliati
Questa è una guida a INSERT in Oracle. In questo articolo, discuteremo cos'è l'istruzione INSERT, le sintassi e i vari modi in cui possiamo usare l'istruzione INSERT insieme ai loro esempi appropriati. Puoi anche consultare i seguenti articoli per saperne di più-
- Esempi di query di inserimento SQL
- Come funziona la clausola GROUP BY in SQL?
- Prime 5 query in Oracle
- Guida completa a Oracle Data Warehousing