Как создать хранимую процедуру (среда SQL Server Management Studio)

В данном разделе описывается процесс создания хранимой процедуры Transact-SQL в среде SQL Server Management Studio с помощью обозревателя объектов. Пример создает простую хранимую процедуру в базе данных AdventureWorks.

Создание хранимой процедуры

  1. В обозревателе объектов подключитесь к экземпляру компонента Database Engine и разверните его.

  2. Последовательно разверните узел Базы данных, базу данных, которой принадлежит хранимая процедура, и узел Программирование.

  3. Щелкните правой кнопкой мыши элемент Хранимые процедуры, а затем выберите команду Создать хранимую процедуру.

  4. В меню Запрос щелкните Задание значений для параметров шаблона.

  5. В диалоговом окне Задание значений для параметров шаблона в столбце Значение содержатся предлагаемые значения параметров. Предложенные значения можно принять или заменить новыми, после чего необходимо нажать кнопку ОК.

  6. В редакторе запросов замените инструкцию SELECT текстом создаваемой процедуры.

  7. Для проверки синтаксиса в меню Запрос выберите пункт Синтаксический анализ.

  8. Чтобы создать хранимую процедуру, в меню Запрос выберите пункт Выполнить.

  9. Чтобы сохранить сценарий, в меню Файл выберите пункт Сохранить. Можно принять предложенное имя файла или заменить его новым, после чего следует нажать кнопку Сохранить.

Примечание по безопасностиПримечание по безопасности

Выполните проверку вводимых пользователем данных. Не включайте их в сценарий, не выполнив проверку. Никогда не выполняйте команду, построенную из непроверенных пользовательских входных данных. Дополнительные сведения см. в разделе Атака путем внедрения кода SQL.

Создание примера хранимой процедуры

  1. В обозревателе объектов подключитесь к экземпляру компонента Database Engine и раскройте узел этого экземпляра.

  2. Последовательно разверните узел Базы данных, базу данных AdventureWorks и узел Программирование.

  3. Щелкните правой кнопкой мыши элемент Хранимые процедуры и выберите пункт Создать хранимую процедуру.

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

  5. В диалоговом окне Задание значений для параметров шаблона введите для показанных параметров следующие значения.

    Параметр

    Значение

    Автор

    Ваше имя

    Дата создания

    Сегодняшняя дата

    Описание

    Возвращает данные о сотрудниках.

    Procedure_name

    HumanResources.uspGetEmployees

    @Param1

    @LastName

    @Datatype_For_Param1

    nvarchar(50)

    Default_Value_For_Param1

    NULL

    @Param2

    @FirstName

    @Datatype_For_Param2

    nvarchar(50)

    Default_Value_For_Param2

    NULL

  6. Нажмите кнопку ОК.

  7. В редакторе запросов замените инструкцию SELECT следующей инструкцией:

        SELECT FirstName, LastName, JobTitle, Department
        FROM HumanResources.vEmployeeDepartment
        WHERE FirstName = @FirstName AND LastName = @LastName;
    
  8. Для проверки синтаксиса выберите пункт Синтаксический анализ в меню Запрос. Если возвращается сообщение об ошибке, сравните инструкции с приведенными выше и при необходимости внесите исправления.

  9. Чтобы создать хранимую процедуру, в меню Запрос выберите пункт Выполнить.

  10. Чтобы сохранить сценарий, в меню Файл выберите пункт Сохранить. Введите новое имя файла и нажмите кнопку Сохранить.

  11. Для запуска хранимой процедуры нажмите кнопку Создать запрос на панели инструментов.

  12. В окне запроса введите следующие инструкции:

    USE AdventureWorks;
    GO
    EXECUTE HumanResources.uspGetEmployees @FirstName = N'Diane', @LastName = N'Margheim';
    GO
    
  13. Выберите пункт Выполнить в меню Запрос.