Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)

Использование хранимых процедур сервера

См. также

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

fox00019.gif Как вызвать хранимую процедуру сервера

fox90000.gif Воспользуйтесь функцией SQLEXEC( ) с именем хранимой процедуры сервера.

Например, следующий код выводит результаты вызова хранимой процедуры sp_who на SQL Server, использующей активное соединение с источником данных sqlremote:

nConnectionHandle = SQLCONNECT('sqlremote')

? SQLEXEC(nConnectionHandle, 'use pubs')

? SQLEXEC(nConnectionHandle, 'sp_who')

BROWSE

Подробнее о создании и выполнении хранимых процедур сервера см. документацию используемого сервера. Подробнее о создании хранимых процедур Visual FoxPro см. Создание хранимых процедур.

Возвращение нескольких результирующих наборов

Если вы выполняете хранимую процедуру, содержащую конструкции SELECT в си таксисе сервера, каждый результирующий набор будет возвращен в отдельный курсор Visual FoxPro. Вы можете использовать эти курсоры для возвращения значений или па аметров из хранимой процедуры сервера клиенту Visual FoxPro.

fox00019.gif Как возвратить несколько результирующих наборов

fox90000.gif Воспользуйтесь функцией SQLEXEC( ).

Например, следующий код создает и выполняет хранимую процедуру SQL Server с именем my_procedure, которая возвращает три курсора Visual FoxPro: sqlresult, sqlresult1 и sqlresult2.

=SQLEXEC(nConnectionHandle,'create procedure my_procedure as

select * from sales; select * from authors;

select * from titles')

=SQLEXEC(nConnectionHandle,'execute my_procedure')

Как сервер обрабатывает результирующие наборы и ошибки

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

Результирующие наборы и ошибки возвращаются в порядке получения, и при обна ужении ошибки обработка прекращается. Например, если ошибка этапа выполнения воз икает, когда сервер выполняет третью конструкцию процедуры, состоящей из четы ех конструкций, то вы получите первые два результирующих набора и затем увидите сообщение об ошибке, возникшей при обработке третьей конструкции. После возв ащения ошибки обработка прекращается, а четвертый результирующий набор не форми уется.

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



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.