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

Cara menyisipkan beberapa baris dalam tabel yang sama-Oracle 10g

Sebuah INSERT VALUES pernyataan selalu menyisipkan tepat 1 baris. Jika Anda ingin menyisipkan beberapa baris dengan nilai hard-code, pendekatan yang paling umum adalah dengan menjalankan dua INSERT yang terpisah. pernyataan.

insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);

Jika Anda benar-benar menginginkannya, Anda dapat memilih nilai hard-code dari dual dan kemudian lakukan INSERT SELECT

insert into t1
  select 131309, 'HP', '20-FEB-04',2000000,1235 from dual
  union all
  select 131310,'HT','20-APR-14',120020,1234 from dual

Atau Anda dapat melakukan INSERT ALL

insert all 
  into t1 values(131309,'HP','20-FEB-04',2000000,1235)
  into t1 values(131310,'HT','20-APR-14',120020,1234)
  select * from dual

Secara pribadi, saya hanya menggunakan dua pernyataan.

Meskipun ini tidak terkait dengan pertanyaan Anda, beberapa komentar

  • Selalu, selalu cantumkan kolom di insert penyataan. Anda akan membuat SQL Anda jauh lebih kuat sehingga jika Anda menambahkan kolom baru di masa mendatang yang memungkinkan NULL menghargai pernyataan Anda akan tetap berfungsi. Dan Anda akan menghindari banyak bug saat daftar kolom ada di sana daripada berharap seseorang mengingat urutan kolom dalam tabel.
  • Jika Anda memasukkan nilai ke dalam date kolom, gunakan tanggal bukan literal string yang mewakili tanggal. Mengandalkan konversi tipe data implisit adalah sumber dari banyak bug. Gunakan to_date yang eksplisit atau gunakan literal tanggal ANSI. Dan gunakan tahun 4 digit.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dapatkan hasil dari prosedur tersimpan Oracle

  2. Mendefinisikan Set Karakter untuk kolom Untuk tabel database oracle

  3. SQL tidak mengenali alias kolom di mana klausa

  4. Dukungan Multi Bahasa di 11i/R12

  5. Cara mengatasi ORA-011033:inisialisasi ORACLE atau shutdown sedang berlangsung