Pernyataan INSERT di oracle adalah perintah DML (Data Manipulation Language). Digunakan untuk menyisipkan baris baru ke dalam tabel oracle di database oracle
SyntaxINSERT INTO <table_name>
(col1, col2, ... column_n )
VALUES
(value1, value2, ... value_n );
Di sini
nama_tabel :Tabel tempat record baru perlu dimasukkan
col1,col2 :adalah kolom dalam tabel
nilai1,nilai2…. :adalah nilai yang sesuai dengan col1,col2 …dalam tabel
Hanya satu baris yang disisipkan dengan sintaks ini dalam tabel
Misalkan Anda ingin memasukkan record pada tabel EMP, maka
insert into emp (emp_id, emp_name,dept_id,first_name,last_name,salary)
values ('101','JOHN', 10,'JOHN' ,'ROGER', 3000);
Catatan Penting
- Tidak perlu memberikan nama kolom jika Anda menentukan nilai dalam urutan yang benar dan nilai untuk setiap kolom dalam tabel disediakan
- Disarankan untuk menempatkan tanda kutip tunggal di sekitar nilai karakter.
Cara memasukkan nilai Null ke dalam tabel
Jika kita meletakkan nilai null untuk beberapa kolom, kita dapat menghilangkan kolom pada perintah insert
insert into emp (emp_id, emp_name,dept_id,salary)
values ('101','JOHN', 10, 3000);
Sisipkan menggunakan pernyataan Select
Kita dapat menyisipkan ke dalam tabel menggunakan pernyataan pilih juga
INSERT INTO <table_name>
(col1, col2, ... column_n ) select col1, col2, ... column_n from < table_name2>
Metode ini dapat digunakan untuk menyisipkan beberapa baris
- Kami tidak perlu menggunakan klausa nilai di sini
- Kita harus mencocokkan kolom di sisipan dengan kueri pemilihan agar berfungsi
- Tidak perlu memberikan nama kolom jika Anda menentukan nilai dalam urutan yang benar dan nilai untuk setiap kolom dalam tabel disediakan
Example insert into emp_master (emp_id ,salary) select emp_id ,salary from emp; INSERT INTO emp_master (emp_id ,salary) WITH sal AS ( SELECT 201,5000 FROM dual UNION ALL SELECT 201, 10000 FROM dual UNION ALL SELECT 204, 10004 FROM dual UNION ALL SELECT 7, 5675476 FROM dual ) SELECT * FROM sal;
Sisipkan fungsi tanggal dalam tabel
Misalkan kita memiliki kolom tipe data tanggal oracle dalam tabel, maka kita dapat menggunakan fungsi sysdate untuk memasukkan tanggal dalam pernyataan insert
insert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, sysdate); insert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, sysdate -1);
Atau jika kita perlu menentukan tanggal tertentu, kita dapat menggunakan format standar untuk tanggal 'DD-MON-YYYY'. Dengan default waktu ini adalah tengah malam
insert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, '18-AUG-2018');
atau jika kita perlu memasukkan data dalam format yang berbeda dengan beberapa waktu, kita dapat menggunakan fungsi to_date
insert into emp (emp_id,emp_name,salary,hire_date) values ( '10','JOHN',1000, TO_DATE('2018/08/18 01:02:44', 'yyyy/mm/dd hh24:mi:ss'));
Oracle menyisipkan semua pernyataan
Oracle insert all statement membantu kita menambahkan beberapa baris dalam tabel sekaligus , atau kita dapat menambahkan beberapa baris dalam tabel yang berbeda dengan pernyataan insert yang sama
Sintaks untuk Satu tabel
INSERT ALL INTO
<table_name> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
<table_name> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
<table_name> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
SELECT * FROM dual;
Sintaks untuk Beberapa tabel
INSERT ALL INTO
<table_name1> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
<table_name2> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
<table_name3> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
SELECT * FROM dual;
Ini setara dengan
INSERT INTO <table_name> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n );
INSERT INTO <table_name> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
INSERT INTO <table_name> (col1, col2, ... column_n ) VALUES (value1, value2, ... value_n )
Contoh
insert all into
emp (emp_id, emp_name,dept_id,first_name,last_name,salary) values ('101','JOHN', 10,'JOHN' ,'ROGER', 2000)
emp (emp_id, emp_name,dept_id,first_name,last_name,salary) values ('102','SMITH', 10,'JOHN' ,'ROGER', 3000)
emp (emp_id, emp_name,dept_id,first_name,last_name,salary) values ('103','BILL', 10,'JOHN' ,'ROGER', 4000)
SELECT * FROM dual;
insert all into
emp (emp_id, emp_name,dept_id,first_name,last_name,salary) values ('101','JOHN', 10,'JOHN' ,'ROGER', 2000)
dept (dept_no, dept_name,dept_location) values ('20','BILLING', 'NEWYORK)
emp (emp_id, emp_name,dept_id,first_name,last_name,salary) values ('103','BILL', 10,'JOHN' ,'ROGER', 4000)
SELECT * FROM dual;
menyisipkan semua pernyataan juga dapat digunakan dengan cara di bawah ini
insert all INTO emp (emp_id, emp_name,dept_id,salary) values (id,name, dept_no, sal) INTO dept (dept_no, dept_name,dept_location) values (dept_no,dept_name,location) WITH names AS ( SELECT 4 id, 'John' name,10 dept_no,'LABOUR' dept_name,'INDIA' location, 45000 sal FROM dual UNION ALL SELECT 5 id, 'Mac' name,20 dept_no,'FIRE' dept_name,'INDIA' location, 567000 sal FROM dual UNION ALL SELECT 6 id, 'Ruth' name,30 dept_no,'HEALTH' dept_name,'INDIA' location, 5600 sal FROM dual UNION ALL SELECT 8 id, 'bill' name,40 dept_no,'WATER' dept_name,'INDIA' location, 158750 sal FROM dual ) SELECT * FROM names ;
Dimungkinkan untuk menggunakan pernyataan bersyarat dalam menyisipkan semua pernyataan
insert all WHEN 1=1 THEN INTO emp (emp_id, emp_name,dept_id,salary) values (id,name, dept_no, sal) WHEN dept_no IS NOT NULL THEN dept (dept_no, dept_name,dept_location) values (dept_no,dept_name,location) WITH names AS ( SELECT 4 id, 'John' name,10 dept_no,'LABOUR' dept_name,'INDIA' location, 45000 sal FROM dual UNION ALL SELECT 5 id, 'Mac' name,20 dept_no,'FIRE' dept_name,'INDIA' location, 567000 sal FROM dual UNION ALL SELECT 6 id, 'Ruth' name,30 dept_no,'HEALTH' dept_name,'INDIA' location, 5600 sal FROM dual UNION ALL SELECT 8 id, 'bill' name,40 dept_no,'WATER' dept_name,'INDIA' location, 158750 sal FROM dual SELECT 9 id, 'July' name,NULL dept_no,NULL dept_name,NULL location, 158750 sal FROM dual ) SELECT * FROM names ;
Saya harap Anda menyukai konten ini pada pernyataan insert di oracle. Saya telah menjelaskan berbagai cara di mana penyisipan dapat dilakukan dalam tabel dengan banyak contoh.
Artikel Terkait
Perbarui pernyataan di oracle :Kami menggunakan pernyataan Perbarui di oracle untuk memodifikasi baris yang ada di tabel oracle di database oracle. Pembaruan dapat dijalankan dengan berbagai cara
Hapus dari pernyataan tabel di Oracle:Hapus dari tabel di Oracle digunakan untuk menghapus baris. HAPUS baris dapat dilakukan dengan menggunakan klausa EXISTS/NOT EXISTS , tabel berdasarkan subquery, cascade
Cara Mengubah Tabel di Oracle :Mengubah tabel di oracle digunakan untuk memodifikasi kolom, menghapus dan menambahkan batasan, mengubah tipe data dari kolom tabel, ubah parameter penyimpanan tabel
Cara mengubah tabel tambahkan kolom oracle:Wawasan yang berguna tentang Cara mengubah tabel menambahkan oracle kolom. Detail tentang fitur penambahan kolom cepat yang diperkenalkan di Oracle 11g juga diberikan
Dokumentasi Oracle pada sisipan