Создание пользовательских шаблонов
Среда Среда SQL Server Management Studio поставляется с шаблонами, с помощью которых можно решить многие стандартные задачи, однако реальная мощь шаблонов состоит в возможности создания пользовательского шаблона для часто используемого сложного сценария. В этом практическом задании будет создан простой сценарий с несколькими параметрами, однако шаблоны применимы и для длинных сценариев с повторениями.
Использование пользовательских шаблонов
Использование пользовательских шаблонов
В обозревателе шаблонов раскройте узел Шаблоны SQL Server, щелкните правой кнопкой мыши элемент Хранимая процедура, установите указатель на пункте Создать и выберите команду Папка.
Введите Пользовательская в качестве имени новой папки шаблона и нажмите клавишу ВВОД.
Щелкните правой кнопкой мыши папку Пользовательская, установите указатель на пункте Создать и выберите команду Шаблон.
Введите WorkOrdersProc в качестве имени нового шаблона и нажмите клавишу ВВОД.
Щелкните правой кнопкой мыши значок WorkOrderProc и выберите команду Изменить.
В диалоговом окне Подключиться к компоненту Database Engine проверьте сведения о соединении и нажмите кнопку Соединить.
В редакторе запросов введите следующий сценарий, чтобы создать хранимую процедуру, выполняющую поиск заказов для нужной детали, в данном случае роликовых коньков. Код сценария можно скопировать из учебника.
USE AdventureWorks2008R2; GO IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_NAME = 'WorkOrdersForBlade') DROP PROCEDURE dbo.WorkOrdersForBlade; GO CREATE PROCEDURE dbo.WorkOrdersForBlade AS SELECT Name, WorkOrderID FROM Production.WorkOrder AS WO JOIN Production.Product AS Prod ON WO.ProductID = Prod.ProductID WHERE Name = 'Blade'; GO
Нажмите клавишу F5, чтобы выполнить сценарий и создать процедуру WorkOrdersForBlade.
В обозревателе объектов щелкните правой кнопкой мыши свой сервер и выберите команду Создать запрос. Будет открыто новое окно редактора запросов.
В редакторе запросов введите EXECUTE dbo.WorkOrdersForBlade и нажмите клавишу F5, чтобы выполнить запрос. Убедитесь, что в панели Результаты отображается список заказов на производство для роликовых коньков.
Измените сценарий шаблона (сценарий из шага 7), заменив в четырех местах имя товара «Роликовые коньки» параметром <product_name, nvarchar(50), name>.
Примечание Параметры требуют три различных элемента: имя замещаемого параметра, тип данных параметра, значение параметра по умолчанию.
Сценарий должен иметь следующий вид:
USE AdventureWorks2008R2; GO IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_NAME = 'WorkOrdersFor<product_name, nvarchar(50), name>') DROP PROCEDURE dbo.WorkOrdersFor<product_name, nvarchar(50), name>; GO CREATE PROCEDURE dbo.WorkOrdersFor<product_name, nvarchar(50), name> AS SELECT Name, WorkOrderID FROM Production.WorkOrder AS WO JOIN Production.Product AS Prod ON WO.ProductID = Prod.ProductID WHERE Name = '<product_name, nvarchar(50), name>'; GO
В меню Файл выберите команду Сохранить WorkOrdersProc.sql, чтобы сохранить шаблон.
Проверка пользовательского шаблона
В обозревателе шаблонов последовательно раскройте элементы Хранимая процедура и Пользовательская, а затем дважды щелкните шаблон WorkOrderProc.
В диалоговом окне Подключение к компоненту Database Engine введите сведения о соединении и нажмите кнопку Соединить. Будет открыто новое окно редактора запросов, отображающее содержимое шаблона WorkOrderProc.
В меню Запрос выберите пункт Задание значений для параметров шаблона.
В диалоговом окне Замена параметров шаблона в поле product_name введите FreeWheel (заменяя содержимое по умолчанию), а затем нажмите кнопку ОК, чтобы закрыть диалоговое окно Замена параметров шаблона и изменить сценарий в редакторе запросов.
Нажмите F5, чтобы выполнить запрос и создать процедуру.