저장 프로시저 실행 - 저장 프로시저 호출
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server ODBC 드라이버는 저장 프로시저를 원격 저장 프로시저로 실행할 수 있도록 지원합니다. 저장 프로시저를 원격 저장 프로시저로 실행하면 드라이버와 서버에서 프로시저의 실행 성능을 최적화할 수 있습니다.
SQL 문이 ODBC CALL 이스케이프 절을 사용하여 저장 프로시저를 호출하면 SQL Server 드라이버는 RPC(원격 저장 프로시저 호출) 메커니즘을 사용하여 프로시저를 SQL Server로 보냅니다. RPC 요청은 SQL Server의 문 구문 분석과 매개 변수 처리를 대부분 무시하므로 Transact-SQL EXECUTE 문을 사용할 때보다 속도가 향상됩니다.
이 기능을 보여 주는 샘플 애플리케이션은 ODBC(프로세스 반환 코드 및 출력 매개 변수)를 참조하세요.
프로시저를 RPC로 실행하려면
ODBC CALL 이스케이프 시퀀스를 사용하는 SQL 문을 생성합니다. 이 문에서는 각 입/출력 및 출력 매개 변수와 프로시저 반환 값(있는 경우)에 대해 매개 변수 표식을 사용합니다.
{? = CALL procname (?,?)}
각 입력, 입/출력 및 출력 매개 변수와 프로시저 반환 값(있는 경우)에 대해 SQLBindParameter 를 호출합니다.
SQLExecDirect를 사용하여 문을 실행합니다.
참고 항목
애플리케이션이 ODBC CALL 이스케이프 시퀀스가 아닌 Transact-SQL EXECUTE 구문을 사용하여 프로시저를 제출하는 경우 SQL Server ODBC 드라이버는 프로시저 호출을 RPC가 아닌 SQL 문으로 SQL Server에 전달합니다. 또한 Transact-SQL EXECUTE 문을 사용하는 경우 출력 매개 변수가 반환되지 않습니다.