Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

INSERT pernyataan di Oracle

Pernyataan INSERT di oracle adalah perintah DML (Data Manipulation Language). Digunakan untuk menyisipkan baris baru ke dalam tabel oracle di database oracle

Syntax

INSERT 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:bagaimana situasinya menggunakan RAISE_APPLICATION_ERROR?

  2. meneruskan array integer ke prosedur Oracle dengan c #

  3. Bagaimana Cara Membuat Kunci Asing di Oracle SQL Developer?

  4. Pertanyaan bergabung SQL

  5. Cara memperbarui tabel di oracle