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 중국어 웹사이트의 기타 관련 기사를 참조하세요!