Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПК_Занятия_ОПБД / Lectures_14-15.pptx
Скачиваний:
20
Добавлен:
15.04.2015
Размер:
3.86 Mб
Скачать

Для определения типа данных,

который будет иметь параметр ХП,

подходят любые типы данных T-SQL,

включая определенные

пользователем.

Но тип данных CURSOR может

быть использован только как

выходной параметр ХП, т.е. с

указанием ключевого слова OUTPUT.

31

Ключевое слово OUTPUT означает,

что соответствующий параметр служит

для возвращения данных из ХП. Но это

не значит, что такой параметр не подходит для передачи значений в ХП.

Указание ключевого слова OUTPUT предписывает серверу при выходе из ХП присвоить текущее значение параметра локальной переменной, которая была указана при вызове

процедуры в качестве значения

параметра.

32

При указании ключевого слова OUTPUT значение соответствующего

параметра при вызове процедуры

может быть задано только с помощью

локальной переменной.

Не разрешается использование любых выражений или констант, допустимое

для обычных параметров.

33

Ключевое слово VARYING применяется совместно с параметром OUTPUT, имеющим тип CURSOR. Оно определяет, что выходным параметром будет

результирующее множество.

Ключевое слово DEFAULT представляет собой значение, которое будет принимать соответствующий параметр по умолчанию. Значение этого параметра при

вызове процедуры можно не указывать

34

явно.

Т.к. сервер кэширует план исполнения

запроса и компилированный код, то при

последующем вызове ХП будут

использоваться уже готовые значения.

Но в некоторых случаях требуется выполнять перекомпиляцию кода ХП. Указание ключевого слова RECOMPILE предписывает системе создавать план выполнения ХП при каждом ее вызове.

35

Параметр FOR REPLICATION

задается при репликации данных и

включении создаваемой ХП в

качестве статьи в публикацию.

Ключевое слово ENCRYPTION предписывает серверу выполнить шифрование кода ХП, что может

обеспечить защиту от использования авторских алгоритмов, реализующих работу ХП.

36

Ключевое слово AS размещается в начале тела ХП, т.е. набора команд

SQL, с помощью которых и будет реализовываться то или иное действие.

В теле ХП могут применяться почти все команды SQL, объявляться

транзакции, устанавливаться

блокировки и вызываться другие ХП.

Выход из ХП можно выполнить с помощью команды RETURN. 37

Для выполнения ХП - команда:

Если вызов ХП - не единственная команда в пакете, то команда EXECUTE обязательна

(в противном случае эту команду можно опустить). Также эта команда требуется

для вызова процедуры из тела другой

процедуры или триггера.

38

 

Использование ключевого слова

OUTPUT при вызове ХП разрешается

только для параметров, объявленных с

параметром OUTPUT при создании ХП.

Если при вызове ХП для параметра указывается ключевое слово DEFAULT, то используется значение по умолчанию. Слово DEFAULT разрешается только для

тех параметров, для которых

определено значение по умолчанию.

39

Из синтаксиса команды EXECUTE

видно, что имена параметров могут

быть опущены при вызове процедуры.

Но в этом случае нужно указывать значения для параметров в том же

порядке, в каком они перечислялись

при создании процедуры.

Присвоить параметру значение по умолчанию, просто пропустив его при перечислении, нельзя.

40

Соседние файлы в папке ИПК_Занятия_ОПБД