- •Язык sql. Работа с хранимыми процедурами.
- •1. Теоретические сведения
- •1.1. Хранимые процедуры.
- •1.1. Создание хранимой процедуры
- •1.2. Выполнение хранимой процедуры
- •Порядок выполнения работы
- •2.1. Выбор задания
- •2.2. Изучение способов создания и вызова хранимых процедур.
- •3. Содержание отчета
- •4. Контрольные вопросы
- •Приложение
1.2. Выполнение хранимой процедуры
Хранимая процедура может быть вызвана несколькими способами. Простейший способ — это использование оператора:
EXEC <имя процедуры>
<значение_входного_параметра1>
…
<имя_переменной_для_выходного параметра1>
…
При этом все входные и выходные параметры должны быть заданы обязательно и в том порядке, в котором они определены в процедуре.
Например, если мне надо найти число экземпляров книги "Oracle8. Энциклопедия пользователя", которая имеет ISBN 966-7393-08-09, то текст вызова ранее созданной хранимой процедуры может быть следующим:
/*определили две переменные
@Ntek – количество экземпляров данной книги в наличие в библиотеке
@ISBN – международный шифр книги */
declare @Ntek int
DECLARE @ISBN VARCHAR(14)
/* Присвоим значение переменной @ISBN */
Select @ISBN = '966-7393-08-09'
/* Присвоим переменной @Ntek результаты
выполнения хранимой процедуры COUNT_EX */
EXEC @Ntek = COUNT_EX @ISBN
Если у вас определено несколько версий хранимой процедуры, то при вызове вы можете указать номер конкретной версии для исполнения. Так, например, в версии 2 процедуры COUNT_EX последний оператор исполнения этой процедуры имеет вид:
EXEC @Ntek = COUNT_EX;2 @ISBN
Однако если в процедуре определены значения входных параметров по умолчанию, то при запуске процедуры могут быть указаны значения не всех параметров. В этом случае оператор вызова процедуры может быть записан в следующем виде:
EXEC <имя процедуры>
<имя_параметра1>=<значение параметра1>
…
<имя_параметраN>=<значение параметраN>
…
Порядок выполнения работы
2.1. Выбор задания
Продолжаем выполнение задания (лабораторные работы №1, №2 №3 №4, №5, №6 и №7), выбранного из таблицы 8.1. (см. Приложение). Вариант соответствует номеру студента в списке учебной группы. Для всех последующих лабораторных работ вариант остается неизменным. Каждый студент разрабатывает свой вариант БД.
2.2. Изучение способов создания и вызова хранимых процедур.
На основании ранее созданной базы данных из лабораторной работы №5 необходимо создать согласно пунктам 1.1. – 1.2 лабораторной работы №8:
п.1.1. – 2 процедуры с использованием условия WITH,
п.1.2. – вызвать созданные процедуры командой EXEC.
Для этого:
Запустить программу IBExpert из C:\Program Files\ IBExpert
2. Загрузить разработанную в ЛР №5 базу данных. Для чего в окне Database Explorer кликнуть правой кнопкой мыши на названии базы. Или выбрав базу, в окне База данных нажать Подключиться к базе…
4. Выбрать окно Инструменты и загрузить из него SQL- редактор (F12)
5. Набрать необходимые команды и сохранить результаты для отчета.
3. Содержание отчета
Название и цель работы .
Все рассмотренные в лабораторной работе хранимые процедуры.
Результатами выполненной команды EXEC.
Выводы
4. Контрольные вопросы
1. Что такое хранимые процедуры в SQL?
2. Синтаксис оператора CREATE PROCEDURE?
3. Для чего служит условие WITH оператора CREATE PROCEDURE?
4. Дайте определение ключевого слова OUTPUT оператора CREATE PROCEDURE?
5. Как вызвать хранимую процедуру в SQL?
6. Каким образом возможно указать номер версии хранимой процедуры в операторе EXEC?