Опубликован: 11.12.2006 | Доступ: свободный | Студентов: 5361 / 282 | Оценка: 4.42 / 3.86 | Длительность: 57:15:00

Лекция 21: Создание хранимых процедур и управление этими процедурами

Использование мастера Create Stored Procedure Wizard

Третий метод создания хранимых процедур – использование мастера создания хранимых процедур Create Stored Procedure Wizard – дает вам основу для написания ваших процедур из шаблонных операторов T-SQL. Вы можете применить мастер для создания хранимой процедуры, используемой для вставки, удаления или обновления строк таблиц. Этот мастер не помогает создавать процедуры, которые считывают строки из таблицы.

Мастер позволяет вам создавать несколько хранимых процедур в одной базе данных без необходимости выхода из мастера и его перезапуска. Однако для создания процедуры в другой базе данных вы должны снова запустить мастер. Для запуска этого мастера выполните следующие шаги.

  1. В окне Enterprise Manager выберите из меню Tools (Сервис) пункт Wizards (Мастера), чтобы появилось диалоговое окно Select Wizard (Выбор мастера). Раскройте папку Database и щелкните на строке Create Stored Procedure Wizard (рис. 21.7).
     Диалоговое окно Select Wizard (Выбор мастера)

    Рис. 21.7. Диалоговое окно Select Wizard (Выбор мастера)
  2. Щелкните на кнопке OK, чтобы появилось начальное окно мастера Create Stored Procedure Wizard (рис. 21.8).
     Начальное окно мастера Create Stored Procedure Wizard (Создание хранимых процедур)

    Рис. 21.8. Начальное окно мастера Create Stored Procedure Wizard (Создание хранимых процедур)
  3. Щелкните на кнопке Next (Далее), чтобы появилось окно Select Database (Выбор базы данных). Введите имя базы данных, в которой вы хотите создать хранимую процедуру.
  4. Щелкните на кнопке Next, чтобы появилось окно Select Stored Procedures (Выбор хранимых процедур) (рис. 21.9). Здесь вы увидите список всех таблиц в выбранной базе данных с тремя колонками флажков. Эти колонки представляют три типа хранимых процедур, которые можно создать с помощью этого мастера: хранимые процедуры, которые выполняют вставку (Insert), удаление (Delete) и обновление (Update) данных. Установите нужные флажки в колонках рядом с именем каждой таблицы.
     Окно Select Stored Procedures (Выбор хранимых процедур)

    Рис. 21.9. Окно Select Stored Procedures (Выбор хранимых процедур)
    В данном примере показаны две таблицы, которые использовались на протяжении всей этой книги. Как видно из рисунка, таблице Bicycle_Inventory были присвоены две процедуры: процедура вставки (insert)) и процедура обновления (update). Как показано в последующих шагах, вы можете изменять эти процедуры до их реального создания.
    Примечание. Одна хранимая процедура может выполнять несколько типов модификаций данных, но мастер Create Stored Procedure Wizard создает каждый тип модификаций в виде отдельной хранимой процедуры. Вы можете изменять любую из создаваемых этим мастером процедур, добавляя другие операторы T-SQL.
  5. Щелкните на кнопке Next, чтобы появилось окно мастера Create Stored Procedure Wizard (рис. 21.10). В этом окне содержится список имен и описаний всех хранимых процедур, которые будут созданы, когда вы завершите работу мастера.
  6. Чтобы переименовать и отредактировать хранимую процедуру, начните с выбора ее имени в окне Completing the Create Stored Procedure Wizard и затем щелкните на кнопке Edit (Правка), чтобы появилось окно Edit Stored Procedure Properties (Редактирование свойств хранимой процедуры) (рис. 21.11). Это окно содержит список колонок таблицы, на которые повлияет данная процедура. Колонки, для которых установлен флажок в колонке Select, будут использоваться в данной хранимой процедуре.
     Окно мастера Completing the Create Stored Procedure Wizard

    Рис. 21.10. Окно мастера Completing the Create Stored Procedure Wizard
    Окно Edit Stored Procedure Properties (Редактирование свойств хранимой процедуры)

    Рис. 21.11. Окно Edit Stored Procedure Properties (Редактирование свойств хранимой процедуры)
    В этом примере показано шесть колонок таблицы Bicycle_Inventory, на которые может повлиять процедура вставки с текущим именем insert_Bicycle_Inventory_1. Для каждой колонки таблицы установлен флажок в колонке Select. Эти флажки указывают, что при выполнении данной хранимой процедуры потребуется ввод значений во все шесть колонок и что хранимая процедура вставит эти шесть значений в соответствующие шесть колонок.
  7. Для переименования хранимой процедуры удалите существующее имя в текстовом поле Name и замените его новым именем.
  8. Для редактирования хранимой процедуры щелкните на кнопке Edit SQL (Редактировать SQL), чтобы появилось диалоговое окно Edit Stored Procedure SQL (Редактирование SQL хранимой процедуры) (рис. 21.12). Здесь вы можете видеть T-SQL-программу для хранимой процедуры. Как видно из рисунка, здесь используются довольно простые операторы T-SQL. В данном примере пять параметров, которые вы указываете при вызове этой хранимой процедуры, – это значения, которые вставляются в виде новой строки в таблицу. Для редактирования этой процедуры просто введите ваши изменения в текстовом окне. Закончив правку, щелкните на кнопке Parse (Синтаксический разбор), чтобы проверить синтаксис, исправьте ошибки и затем щелкните на кнопке OK, чтобы вернуться в окно мастера Completing the Create Stored Procedure Wizard.
      Диалоговое окно Edit Stored Procedure SQL

    Рис. 21.12. Диалоговое окно Edit Stored Procedure SQL
  9. После внесения возможных изменений и проверки процедуры щелкните на кнопке Finish (Готово), чтобы создать хранимые процедуры. Не забудьте задать полномочия по каждой из хранимых процедур после создания этих процедур. (См. раздел "Использование Enterprise Manager" выше.)

Как видите, этот мастер нельзя назвать очень полезным. Если вы знаете, как писать программы на языке T-SQL, то вы можете также использовать сценарии или Enterprise Manager для создания ваших собственных хранимых процедур.

Константин Дементьев
Константин Дементьев
Россия, г. Мичуринск