다음을 통해 공유


저장 프로시저 실행 - 저장 프로시저 호출

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

SQL Server ODBC 드라이버는 저장 프로시저를 원격 저장 프로시저로 실행할 수 있도록 지원합니다. 저장 프로시저를 원격 저장 프로시저로 실행하면 드라이버와 서버에서 프로시저의 실행 성능을 최적화할 수 있습니다.

SQL 문이 ODBC CALL 이스케이프 절을 사용하여 저장 프로시저를 호출하면 SQL Server 드라이버는 RPC(원격 저장 프로시저 호출) 메커니즘을 사용하여 프로시저를 SQL Server로 보냅니다. RPC 요청은 SQL Server의 문 구문 분석과 매개 변수 처리를 대부분 무시하므로 Transact-SQL EXECUTE 문을 사용할 때보다 속도가 향상됩니다.

이 기능을 보여 주는 샘플 애플리케이션은 ODBC(프로세스 반환 코드 및 출력 매개 변수)를 참조하세요.

프로시저를 RPC로 실행하려면

  1. ODBC CALL 이스케이프 시퀀스를 사용하는 SQL 문을 생성합니다. 이 문에서는 각 입/출력 및 출력 매개 변수와 프로시저 반환 값(있는 경우)에 대해 매개 변수 표식을 사용합니다.

    {? = CALL procname (?,?)}  
    
  2. 각 입력, 입/출력 및 출력 매개 변수와 프로시저 반환 값(있는 경우)에 대해 SQLBindParameter 를 호출합니다.

  3. SQLExecDirect를 사용하여 문을 실행합니다.

참고 항목

애플리케이션이 ODBC CALL 이스케이프 시퀀스가 아닌 Transact-SQL EXECUTE 구문을 사용하여 프로시저를 제출하는 경우 SQL Server ODBC 드라이버는 프로시저 호출을 RPC가 아닌 SQL 문으로 SQL Server에 전달합니다. 또한 Transact-SQL EXECUTE 문을 사용하는 경우 출력 매개 변수가 반환되지 않습니다.

참고 항목

저장 프로시저 호출 일괄 처리
저장 프로시저 실행
저장 프로시저 호출
수립