Создание пользовательских шаблонов

SQL Server Management Studio поставляется с шаблонами для многих распространенных задач, но реальная сила шаблонов заключается в возможности создать пользовательский шаблон для сложного скрипта, который необходимо создавать часто. В этой практике вы создадите простой скрипт с несколькими параметрами, но шаблоны полезны для длительных повторяющихся сценариев.

Использование пользовательских шаблонов

Создание пользовательского шаблона

  1. В Обозревателе шаблонов разверните Шаблоны SQL Server, щелкните правой кнопкой мыши Хранимая процедура, наведите указатель на Создать, а затем выберите Папка.

  2. Введите custom в качестве имени новой папки шаблона и нажмите клавишу ВВОД.

  3. Щелкните правой кнопкой мыши «Настраиваемый», наведите курсор на «Создать» и выберите Шаблон.

  4. Введите WorkOrdersProc в качестве имени нового шаблона и затем нажмите Enter.

  5. Щелкните правой кнопкой мыши WorkOrdersProc и нажмите кнопку "Изменить".

  6. В диалоговом окне "Подключение к ядру СУБД" проверьте сведения о подключении и нажмите кнопку "Подключить".

  7. В Редакторе запросов введите следующий скрипт, чтобы создать хранимую процедуру, которая ищет заказы для определенной детали, в этом случае Лезвие. (Вы можете скопировать и вставить код из окна учебника.)

    USE AdventureWorks20012;  
    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  
    
  8. Нажмите клавишу F5, чтобы выполнить этот скрипт, создав процедуру WorkOrdersForBlade .

  9. В обозревателе объектов щелкните правой кнопкой мыши сервер и выберите команду "Создать запрос". Откроется новое окно редактора запросов.

  10. В редакторе запросов введите execute dbo. WorkOrdersForBlade и нажмите клавишу F5, чтобы выполнить запрос. Убедитесь, что панель Результаты возвращает список рабочих заказов для лезвий.

  11. Измените сценарий шаблона (скрипт на шаге 7), заменив название продукта Blade параметром product_name<product_name, nvarchar(50), name> в четырех местах.

    Замечание

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

  12. Теперь скрипт должен выглядеть следующим образом:

    USE AdventureWorks20012;  
    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  
    
  13. В меню "Файл" нажмите кнопку "Сохранить WorkOrdersProc.sql" , чтобы сохранить шаблон.

Тестирование пользовательского шаблона

  1. В обозревателе шаблонов разверните хранимую процедуру, разверните узел Custom и дважды щелкните WorkOrderProc.

  2. В диалоговом окне "Подключение к ядру СУБД" заполните сведения о подключении и нажмите кнопку "Подключить". Откроется новое окно редактора запросов, содержащее содержимое шаблона WorkOrderProc .

  3. В меню Запрос выберите пункт Указать значения для параметров шаблона.

  4. В диалоговом окне "Заменить параметры шаблона" для значения product_name введите FreeWheel (заменив содержимое по умолчанию), а затем нажмите кнопку "ОК", чтобы закрыть диалоговое окно "Заменить параметры шаблона" и изменить скрипт в редакторе запросов.

  5. Нажмите клавишу F5, чтобы выполнить запрос, создав процедуру.

Следующая задача на занятии

Сохранение скриптов в виде проектов или решений