SQLRowCount
SQLRowCount#
UPDATE, INSERT 또는 DELETE 문에 의해 영향을 받은 행들의 수를 반환한다.
구 문#
SQLRETURN SQLRowCount (
SQLHSTMT stmt,
SQLLEN * row );
인 자#
자료유형 | 인자 | 사용 | 설명 |
---|---|---|---|
SQLHSTMT | stmt | 입력 | 명령문 핸들 |
SQLLEN * | row | 출력 | 행의 개수를 저장할 포인터 |
결괏값#
SQL_SUCCESS
SQL_SUCCESS_WITH_INFO
SQL_INVALID_HANDLE
SQL_ERROR
설 명#
UPDATE, INSERT 또는 DELETE 문에 의해 영향을 받은 행들의 수를 반환한다. 그 외에 MOVE, ENQUEUE, MERGE 처럼 행에 변경시키는 SQL문의 경우에도 영향을 받은 행들의 개수가 *row에 반환된다. 만약 영향을 받은 행이 없다면 *row에 0이 반환된다.
입력 명령문 핸들로 마지막 실행한 SQL문이 위에 열거한 SQL 문이 아니거나 성공적으로 실행되지 않은 경우 이 함수는 *row에 -1이 반환된다.
Cascading delete operation (부모 테이블에 임의의 행이 삭제되면 그것과 관련된 자식 테이블의 모든 행도 삭제됨)과 같은 SQL문에 의해 영향을 받는 임의의 테이블의 행들은 개수에 포함되지 않는다.
이 함수를 호출하기전에 SQLExecute() 또는 SQLExecDirect()를 호출해야만 한다.
진 단#
SQLSTATE | 설명 | 부연설명 |
---|---|---|
HY000 | 일반 오류 |
관련 함수#
SQLExecDirect
SQLExecute
예 제#
< $ALTIBASE_HOME/sample/SQLCLI/demo_exa5.cpp 참고 >
if (SQLExecute(stmt) != SQL_SUCCESS)
{
execute_err(dbc, stmt, query);
SQLFreeStmt(stmt, SQL_DROP);
return SQL_ERROR;
}
SQLRowCount(stmt, &row_count);