captureStatementBatchSQL 특성

애플리케이션이 maxNonParmSQL 특성으로 지정된 SQL문(SELECT문은 제외)의 최대 수까지 Statement.addBatch() 메소드로 전달하는 SQL DML문을 캡처할지 여부를 지정합니다.

captureStatementBatchSQL 특성은 captureMode의 값이 ON인 경우에만 적용됩니다.

이 특성은 다음과 같은 값을 가질 수 있습니다.

ON
pureQuery는 Statement.addBatch() 메소드로 애플리케이션이 전달하는 SQL DML문을 캡처합니다. 이 값이 기본값입니다.
OFF
pureQuery가 애플리케이션이 Statement.addBatch() 메소드에 전달하는 SQL DML문을 캡처하지 않습니다.
주의: Statement.addBatch() 메소드에 전달되는 SQL DDL문은 계속 캡처됩니다.
executionModeSTATIC이고 allowDynamicSQLFALSE이면, pureQuery는 애플리케이션이 Statement.addBatch() 메소드를 전달하는 모든 SQL문을 정적으로 실행하려고 합니다. executionModeSTATIC이고 allowDynamicSQLTRUE이면, 애플리케이션이 Statement.addBatch() 메소드로 전달하는 모든 SQL문이 동적으로 실행됩니다.

따라서 executionMode가 STATIC인 경우에 애플리케이션을 실행할 때 allowDynamicSQL이 TRUE인 경우에만 captureStatementBatchSQL을 OFF로 설정하십시오. 이 상황에서 각 Statement.addBatch() 호출은 동적으로 실행되며 SQL문이 pureQueryXML 파일에 있는지 확인하지 않습니다.

일괄처리된 SQL문을 정적으로 실행하는 경우
애플리케이션이 실행될 때마다 동일 데이터로 테이블을 설정한 일괄처리된 SQL문이 포함된 애플리케이션은 Statement.addBatch() 메소드로 실행된 명령문의 정적 SQL을 사용하여 이점을 얻을 수 있습니다. 예를 들어, 애플리케이션이 우편 번호와 도시를 대응시키도록 설정하거나 상점 위치로 테이블을 채울 수 있습니다.

명령문을 캡처하면 captureStatementBatchSQL을 ON으로 설정합니다. 이 설정은 pureQuery가 pureQueryXML 파일에 Statement.addBatch() 메소드로 전달된 모든 명령문 및 maxNonParmSQL로 설정된 최대 한계를 저장합니다.

SQL문을 바인드한 후 애플리케이션을 실행할 때 executionMode를 STATIC으로, allowDynamicSQL을 FALSE로 설정합니다. 애플리케이션이 일괄처리된 SQL문을 실행하도록 요청할 때마다 pureQuery은 pureQueryXML 파일에서 pureQueryXML 파일을 찾습니다. 명령문이 pureQueryXML 파일에 존재하고 바인드되어 있는 경우 pureQuery은 이를 실행합니다. pureQueryXML 파일에 없거나 바인드되지 않은 경우, allowDynamicSQL이 FALSE이므로 pureQuery는 예외로 처리합니다.

일괄처리된 SQL문을 동적으로 실행하는 경우
Statement.addBatch() 메소드를 이종 SQL문 일괄처리에 사용하는 애플리케이션은 다시 실행되지 않는 다수의 SQL문을 실행할 수 있습니다. 이 유형의 활동은 사용자 입력을 취하여 사용자 제공 값으로 SQL 리터럴을 사용하는 INSERT, UPDATE 또는 DELETE 명령문을 작성합니다.

일괄처리된 이종 SQL문은 이 유형의 애플리케이션에 유용하며 네트워크 트랙픽을 줄이지만 INSERT, UPDATE 또는 DELETE 명령문 실행의 필요한 순서를 유실하지 않습니다.

애플리케이션의 명령문을 캡처하는 경우 captureStatementBatchSQL을 OFF로 설정합니다. 이 설정으로 pureQuery가 Statement.addBatch() 메소드를 처리하는 SQL문을 캡처하지 않습니다. 이들 명령문은 maxNonParmSQL로 설정한 한계에 대해 계산하지 않습니다.

다른 SQL문을 바인드한 후 애플리케이션을 실행할 경우 executionMode를 STATIC로 설정하고 allowDynamicSQL을 TRUE로 설정합니다. 애플리케이션이 일괄처리된 SQL문을 실행하도록 요청할 때마다 pureQuery은 pureQueryXML 파일에서 찾지 않으며 동적으로 실행합니다.


피드백