콘텐츠로 이동

SQLEndTran

SQLEndTran#

연결과 관련된 모든 명령문에서 활성 중인 연산에 대해 commit 또는 rollback 연산을 요구할 수 있다. 또한, SQLEndTran()은 commit 또는 rolloback 연산이 환경과 관련된 모든 연결에 대해 수행될 수 있도록 요구할 수 있다.

구 문#

SQLRETURN  SQLEndTran (
    SQLSMALLINT     handleType,
    SQLHENV         handle, 
    SQLSMALLINT     type );

인 자#

자료유형 인자 사용 설명
SQLSMALLINT handleType 입력 SQL_HANDLE_ENV, SQL_HANDLE_DBC 중 하나이어야
한다.
SQLHENV handle 입력 handleType에 의해 표시된 type
SQLSMALLINT type 입력 다음 두 값 중 하나
SQL_COMMIT
SQL_ROLLBACK

결괏값#

SQL_SUCCESS
SQL_SUCCESS_WITH_INFO
SQL_INVALID_HANDLE
SQL_ERROR

설 명#

만약 handleType이 SQL_HANDLE_ENV 이고 handle이 유효한 환경 핸들이면 Altibase CLI 드라이버는 환경과 연관된 각 연결 핸들에 대해 SQLEndTran()을 호출할 것이다. Altibase CLI API를 호출하기 위한 handle 인자는 Altibase CLI의 환경 핸들일 것이다. 이 경우에 Altibase CLI 드라이버는 연결된 상태에서 type의 값에 따라 트랜잭션을 commit 하거나 또는 rollback 하기를 시도할 것이다.

만약 type이 SQL_COMMIT 이면 SQLEndTran()은 연결과 관련된 세션에 commit 요구를 내린다. 만약 type이 SQL_ROLLBACK 이면 SQLEndTran()은 연결과 관련된 세션이 rollback 요구를 내린다.

만약 수동 commit 모드이면 (SQL_ATTR_AUTOCOMMIT 명령문 속성을 SQL_AUTOCOMMIT_OFF로 지정한 SQLSetConnectAttr()을 호출함으로서) 새로운 트랜잭션은 트랜잭션내에 포함될 수 있는 SQL 문이 실행될 때 내부적으로 시작된다.

진 단#

SQLSTATE 설명 부연설명
HY000 일반 오류

관련 함수#

SQLFreeHandle
SQLFreeStmt

예 제#

< $ALTIBASE_HOME/sample/SQLCLI/demo_tran1.cpp 참고 >

SQLEndTran(SQL_HANDLE_DBC, dbc, SQL_COMMIT);