Когда вы используете функции сквозных запросов SQL pass-through для выборки необходимых данных: SQLEXEC( ) или SQLMORERESULTS( ), система Visual FoxPro возвращает один или несколько Результирующих Наборов Данных (Курсоров). Данные наборы формируются из соответствующих результирующих Курсоров на удаленном источнике данных (сервере), которые в дальнейшем преобразуются в соответствующие Курсоры Visual FoxPro. По-умолчанию, базовое имя результирующего курсора = SQLRESULT.

Как Сервер обрабатывает Результирующие Наборы и Ошибки

Поскольку Сервер компилирует каждую Хранимую процедуру, которую вы создаете, вы сразу получаете сообщения о возможных Синтаксических или других Ошибках. В процессе выполнения готовых Хранимых процедур удаленный Сервер выполняет соответствующие операторы SQL последовательно  (как обычные команды в программах Visual FoxPro), поэтому, результирующие наборы Visual FoxPro получает в том же порядке, при выполнении соответствующих операторов.

Результирующие наборы и возможные Ошибки также возвращаются в последовательности выполнения соответствующих операторов SQL. Например, если в процессе выполнения пакета SQL возникает ошибка при обработке Сервером третьего (3) оператора (из четырех (4) имеющихся) в пакете операторов; сначала вы получаете Два первых Результирующих Курсора, далее - сообщение об Ошибке в третьем операторе, после обработки данной ошибки четвертый .оператор не обрабатывается системой VFP. Для детальной обработки указанной ошибки рекомендуется использовать функцию  AERROR( ), которая извлекает полный комплект информации о данной исключительной ситуации.

NoteОбратите Внимание

Вы можете выполнять Хранимые процедуры на удаленном Сервере из программных модулей Visual FoxPro только при использовании технологии функций Сквозных Запросов SQL (pass-through). Представления (Views) не поддерживают хранимые процедуры для удаленных серверов, потому, что каждое представление содержит статический оператор SQL SELECT, однозначно определяющий рассматриваемое Представление.

См. также