Przetwarzanie wyników procedur przechowywanych

Dotyczy:sql ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Procedury przechowywane w SQL Server mają cztery mechanizmy zwracania danych:

  • Każde polecenie SELECT w procedurze generuje zbiór wyników.

  • Procedura może zwracać dane poprzez parametry wyjściowe.

  • Parametr wyjściowy kursora może przekazywać kursor Transact-SQL serwera.

  • Procedura może mieć kod zwrotny z liczbą całkowitą.

Aplikacje muszą być w stanie obsługiwać wszystkie te wyjścia z procedur przechowywanych. Polecenie CALL lub EXECUTE powinno zawierać markery parametrów dla kodu zwrotnego i parametrów wyjściowych. Użyj SQLBindParameter, aby powiązać je wszystkie jako parametry wyjściowe, a sterownik ODBC SQL Server Native Client przekaże wartości wyjściowe do zmiennych powiązanych. Parametry wyjściowe i kody zwrotne to ostatnie elementy zwracane klientowi przez SQL Server; nie są zwracane do aplikacji, dopóki SQLMoreResults nie zwróci SQL_NO_DATA.

ODBC nie obsługuje wiązania Transact-SQL parametrów kursora. Ponieważ wszystkie parametry wyjściowe muszą być ograniczone przed wykonaniem procedury, żadna procedura Transact-SQL przechowywana zawierająca parametr kursora wyjściowego nie może być wywołana przez aplikacje ODBC.