Heim > Java > javaLernprogramm > Wie kann ich mehrere SQL-Abfragen in einer einzigen JDBC-Anweisung ausführen?

Wie kann ich mehrere SQL-Abfragen in einer einzigen JDBC-Anweisung ausführen?

DDD
Freigeben: 2024-12-21 04:32:14
Original
905 Leute haben es durchsucht

How Can I Execute Multiple SQL Queries in a Single JDBC Statement?

Ausführen mehrerer Abfragen in einer einzigen Anweisung mit JDBC

In JDBC ist die Ausführung mehrerer Abfragen in einer einzigen Anweisung möglich, allerdings mit spezifischen Anforderungen .

Option 1: Mehrere konfigurieren Abfragen

Um mehrere durch ein Semikolon getrennte Abfragen auszuführen, setzen Sie die Datenbankverbindungseigenschaft „allowMultiQueries“ auf „true“.

String url = "jdbc:mysql:///test?allowMultiQueries=true";
Nach dem Login kopieren
boolean hasMoreResultSets = stmt.execute(multiQuerySqlString);
Nach dem Login kopieren

Anschließend durchlaufen Sie die Abfrageergebnisse mit:

while ( hasMoreResultSets || stmt.getUpdateCount() != -1 ) {
  if ( hasMoreResultSets ) {
    ResultSet rs = stmt.getResultSet();
    // handle resultSet
  } else {
    int queryResult = stmt.getUpdateCount();
    // handle DML updates
  }
  hasMoreResultSets = stmt.getMoreResults();
}
Nach dem Login kopieren

Option 2: Gespeichert Prozeduren

Erstellen Sie eine gespeicherte Prozedur, die die SELECT- und INSERT-Abfragen kombiniert. Führen Sie es dann mit einem CallableStatement aus:

CallableStatement cstmt = con.prepareCall("call multi_query()");
boolean hasMoreResultSets = cstmt.execute();
Nach dem Login kopieren

Durchlaufen Sie die zurückgegebenen Ergebnisse wie zuvor:

while (hasMoreResultSets) {
  ResultSet rs = stmt.getResultSet();
  // handle resultSet
}
Nach dem Login kopieren

Es ist wichtig zu beachten, dass diese Funktionalität zwar weitgehend unterstützt wird, dies jedoch möglicherweise nicht der Fall ist in allen JDBC-Treibern oder Datenbankimplementierungen verfügbar. Einzelheiten zur Kompatibilität finden Sie immer in der spezifischen Treiberdokumentation.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere SQL-Abfragen in einer einzigen JDBC-Anweisung ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage