sql >> Databasteknik >  >> RDS >> Mysql

Finns det ett annat sätt att implementera det här programmet utan att använda kapslad while-loop?

Eftersom all data som används i INSERT uttalandet kommer från dina "SELECT"-satser, det är ingen idé att ta den extra rundresan mellan din java-app och databasen. Att köra allt i en SQL-sats ger dig bästa prestanda.

Din SQL-sats ska vara så här

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

Och din java-kod kan kokas ner till detta

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


  1. Hur kan jag ställa in ett datum till NULL i Yii?

  2. Hur skapar man en Postgres-tabell med unik kombinerad primärnyckel?

  3. Hamming avstånd på binära strängar i SQL

  4. Hur kan jag fixa det här felet:SQL92 som inte stöds?