>Java >java지도 시간 >단일 JDBC 문에서 여러 SQL 쿼리를 어떻게 실행할 수 있습니까?

단일 JDBC 문에서 여러 SQL 쿼리를 어떻게 실행할 수 있습니까?

DDD
DDD원래의
2024-12-21 04:32:14901검색

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

JDBC를 사용하여 단일 문에서 여러 쿼리 실행

JDBC에서는 특정 요구 사항이 있더라도 단일 문에서 여러 쿼리를 실행하는 것이 가능합니다. .

옵션 1: 다중 구성 쿼리

세미콜론으로 구분된 여러 쿼리를 실행하려면 데이터베이스 연결 속성인 AllowMultiQueries를 true로 설정합니다.

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

그런 다음 다음을 사용하여 쿼리 결과를 반복합니다.

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

옵션 2: 저장됨 프로시저

SELECT 및 INSERT 쿼리를 결합하는 저장 프로시저를 만듭니다. 그런 다음 CallableStatement를 사용하여 실행합니다.

CallableStatement cstmt = con.prepareCall("call multi_query()");
boolean hasMoreResultSets = cstmt.execute();

이전과 같이 반환된 결과를 반복합니다.

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

이 기능은 널리 지원되지만 그렇지 않을 수도 있다는 점에 유의하는 것이 중요합니다. 모든 JDBC 드라이버 또는 데이터베이스 구현에서 사용할 수 있습니다. 호환성에 대한 자세한 내용은 항상 특정 드라이버 설명서를 참조하세요.

위 내용은 단일 JDBC 문에서 여러 SQL 쿼리를 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.