Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada cara berbeda untuk mengimplementasikan program ini tanpa menggunakan loop while bersarang?

Karena semua data digunakan dalam INSERT pernyataan berasal dari pernyataan 'PILIH' Anda, tidak ada gunanya mengambil bolak-balik ekstra antara aplikasi Java Anda dan database. Mengeksekusi semuanya dalam satu pernyataan SQL akan memberi Anda performa terbaik.

Pernyataan SQL Anda seharusnya seperti ini

INSERT INTO snomedinfo_data (refid,id,effectivetime,active,moduleid,conceptid,languagecode,typeid,term,caseSignificanceid)
SELECT d.refid, d.id, d.effectivetime, d.active, d.moduleid, d.conceptid, d.languagecode, d.typeid, d.term, d.caseSignificanceid
FROM snomed_descriptiondata d
JOIN snomed_conceptdata c ON c.id = d.conceptid AND c.active = 1 AND d.active = 1

Dan kode java Anda dapat diringkas menjadi ini

try {
    oRoot = Root.createDbConnection(null);
    String sql = "INSERT INTO snomedinfo_data...";
    oPrStmt = oRoot.con.prepareStatement(sql);
    oPrStmt.executeUpdate();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan MySQL 1153 - Mendapat paket lebih besar dari byte 'max_allowed_packet'

  2. MySQL ON DUPLICATE KEY UPDATE untuk memasukkan beberapa baris dalam satu permintaan

  3. Masukkan ke dalam masalah basis data... (Pengkodean karakter buruk) PHP/MYSQL

  4. Kesalahan saat mencoba memigrasikan postgresql db ke mysql dengan meja kerja

  5. Menggunakan Penasihat Pencadangan Basis Data untuk Mengotomatiskan Tugas Pemeliharaan