Sql процедура: MS SQL Server и T-SQL

Содержание

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





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья

  • Чтение занимает 2 мин

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

Разрешения

Для выполнения этой инструкции требуется разрешение CREATE PROCEDURE в отношении базы данных и разрешение ALTER в отношении схемы, в которой создается процедура.

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

Можно использовать один из следующих способов:

  • Среда SQL Server Management Studio

  • Transact-SQL

Использование среды SQL Server Management Studio

Создание процедуры в обозревателе объектов

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

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

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

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

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

    ПараметрЗначение
    АвторВаше имя
    Дата созданияСегодняшняя дата
    ОписаниеВозвращает данные о сотрудниках.
    Procedure_nameHumanResources.uspGetEmployeesTest
    @Param1@LastName
    @Datatype_For_Param1nvarchar(50)
    Default_Value_For_Param1NULL
    @Param2@FirstName
    @Datatype_For_Param2nvarchar(50)
    Default_Value_For_Param2NULL
  6. Нажмите кнопку ОК.

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

    SELECT FirstName, LastName, Department  
    FROM HumanResources. vEmployeeDepartmentHistory  
    WHERE FirstName = @FirstName AND LastName = @LastName  
        AND EndDate IS NULL;  
    
  8. Для проверки синтаксиса выберите пункт Выполнить анализ в меню Запрос. Если возвращается сообщение об ошибке, сравните инструкции с приведенными выше и при необходимости внесите исправления.

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

  10. Чтобы увидеть процедуру в обозревателе объектов, щелкните правой кнопкой мыши элемент Хранимые процедуры и выберите пункт Обновить.

  11. Чтобы выполнить процедуру, в обозревателе объектов щелкните правой кнопкой мыши имя хранимой процедуры HumanResources.uspGetEmployeesTest и выберите пункт Выполнение хранимой процедуры.

  12. В окне Выполнение процедуры введите Margheim в качестве значения для параметра @LastName и Diane в качестве значения для параметра @FirstName.

Предупреждение

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

Использование Transact-SQL

Создание процедуры в редакторе запросов

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

  2. В меню Файл выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В данном примере создается та же хранимая процедура, что и раньше, но с другим именем процедуры.

    USE AdventureWorks2012;  
    GO  
    CREATE PROCEDURE HumanResources.uspGetEmployeesTest2   
        @LastName nvarchar(50),   
        @FirstName nvarchar(50)   
    AS   
        SET NOCOUNT ON;  
        SELECT FirstName, LastName, Department  
        FROM HumanResources. vEmployeeDepartmentHistory  
        WHERE FirstName = @FirstName AND LastName = @LastName  
        AND EndDate IS NULL;  
    GO  
    
  4. Чтобы выполнить процедуру, скопируйте следующий пример в окно создаваемого запроса и нажмите кнопку Выполнить. Показаны различные методы задания значений параметров.

    EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar';  
    -- Or  
    EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar';  
    GO  
    -- Or  
    EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman';  
    GO  
    

Следующие шаги

CREATE PROCEDURE (Transact-SQL)






Хранимая процедура для SQL Server — Учебник SQL — Schoolsw3.com

schoolsw3.com

САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ


❮ Назад
Далее ❯


Что такое хранимая процедура?

Хранимая процедура — это подготовленный SQL-код, который можно сохранить, чтобы этот код можно было повторно использовать снова и снова.

Поэтому, если у вас есть SQL-запрос, который вы пишете снова и снова, сохраните его как хранимую процедуру, а затем просто вызовите ее для выполнения.

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

Синтаксис хранимой процедуры

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

Выполнение хранимой процедуры

EXEC procedure_name;


Демо база данных

Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D. F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

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

Следующая инструкция SQL создает хранимую процедуру с именем «SelectAllCustomers» , которая выбирает все записи из таблицы «Customers»:

Пример

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

Выполните описанную выше хранимую процедуру следующим образом:

Пример

EXEC SelectAllCustomers;



Хранимая процедура с одним параметром

Следующая инструкция SQL создает хранимую процедуру, которая выбирает клиентов из определенного города из таблицы «Customers»:

Пример

CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30)
AS
SELECT * FROM Customers WHERE
City = @City
GO;

Выполните описанную выше хранимую процедуру следующим образом:

Пример

EXEC SelectAllCustomers @City = «London»;


Хранимая процедура с несколькими параметрами

Настройка нескольких параметров очень проста. Просто перечислите каждый параметр и тип данных, разделенные запятой, как показано ниже.

Следующая инструкция SQL создает хранимую процедуру,
которая выбирает клиентов из определенного города с определенным почтовым кодом из таблицы «Customers»:

Пример

CREATE PROCEDURE SelectAllCustomers
@City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE
City = @City AND PostalCode = @PostalCode
GO;

Выполните описанную выше хранимую процедуру следующим образом:

Пример

EXEC SelectAllCustomers @City = «London», @PostalCode = «WA1 1DP»;

❮ Назад
Далее ❯

ВЫБОР ЦВЕТА




ТОП Учебники


HTML Учебник
CSS Учебник
JavaScript Учебник
КАК Учебник
SQL Учебник
Python Учебник
W3.CSS Учебник
Bootstrap Учебник
PHP Учебник
Java Учебник
C++ Учебник
jQuery Учебник

ТОП Справочники


HTML Справочник
CSS Справочник
JavaScript Справочник
SQL Справочник
Python Справочник
W3. CSS Справочник
Bootstrap Справочник
PHP Справочник
HTML Цвета
Java Справочник
Angular Справочник
jQuery Справочник

ТОП Примеры


HTML Примеры
CSS Примеры
JavaScript Примеры
КАК Примеры
SQL Примеры
Python Примеры
W3.CSS Примеры
Bootstrap Примеры
PHP Примеры
Java Примеры
XML Примеры
jQuery Примеры



Форум |
О SchoolsW3


SchoolsW3 оптимизирован для бесплатного обучения, проверки и подготовки знаний. Примеры в редакторе упрощают и улучшают чтение и базовое понимание. Учебники, ссылки, примеры постоянно пересматриваются, чтобы избежать ошибок, но не возможно гарантировать полную правильность всего содержания. Некоторые страницы сайта могут быть не переведены на РУССКИЙ язык, можно отправить страницу как ошибку, так же можете самостоятельно заняться переводом. Используя данный сайт, вы соглашаетесь прочитать и принять
Условия к использованию,
Cookies и политика конфиденциальности.

Авторское право 1999- Все права защищены.
SchoolsW3 работает на площадке от SW3.CSS.

Хранимые процедуры SQL

❮ Назад
Далее ❯


Что такое хранимая процедура?

Хранимая процедура — это подготовленный код SQL, который можно сохранить, поэтому
код можно использовать снова и снова.

Итак, если у вас есть SQL-запрос, который вы пишете снова и снова, сохраните
как хранимую процедуру, а затем просто вызовите ее для выполнения.

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

Синтаксис хранимой процедуры

CREATE PROCEDURE имя_процедуры
AS
sql_statement
GO;

Выполнение хранимой процедуры

EXEC имя_процедуры ;


Демонстрационная база данных

Ниже приведен выбор из таблицы «Клиенты» в образце базы данных «Борей»:

CustomerID ИмяКлиента Контактное имя Адрес Город Почтовый индекс Страна
1 Альфред Футтеркисте Мария Андерс ул. Обере 57 Берлин 12209 Германия
2 Ана Трухильо Emparedados y helados Ана Трухильо Авда. Конститусьон 2222 Мексика Д.Ф. 05021 Мексика
3 Антонио Морено Такерия Антонио Морено Матадерос 2312 Мексика Д.Ф. 05023 Мексика
4 Вокруг Рога Томас Харди Ганноверская площадь, 120 Лондон ВА1 1ДП Великобритания
5 Берглундс снаббкёп Кристина Берглунд Бергувсвеген 8 Лулео S-958 22 Швеция

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

Следующая инструкция SQL создает хранимую процедуру с именем «SelectAllCustomers».
который выбирает все записи из таблицы «Клиенты»:

Пример

СОЗДАТЬ ПРОЦЕДУРУ SelectAllCustomers
AS
SELECT * FROM Customers
GO;

Выполните описанную выше хранимую процедуру следующим образом:

Пример

EXEC SelectAllCustomers;



Хранимая процедура с одним параметром

Следующая инструкция SQL создает хранимую процедуру
который выбирает клиентов из определенного города из таблицы «Клиенты»:

Пример

СОЗДАТЬ ПРОЦЕДУРУ SelectAllCustomers
@City nvarchar(30)
AS
SELECT * FROM Customers WHERE
Город = @Город
GO;

Выполните описанную выше хранимую процедуру следующим образом:

Пример

EXEC SelectAllCustomers @City = ‘Лондон’;


Хранимая процедура с несколькими параметрами

Настройка нескольких параметров очень проста. Просто перечислите каждый параметр и
тип данных, разделенный запятой, как показано ниже.

Следующая инструкция SQL создает хранимую процедуру
который выбирает клиентов из определенного города с определенным почтовым индексом из таблицы «Клиенты»:

Пример

СОЗДАТЬ ПРОЦЕДУРУ SelectAllCustomers
@Город nvarchar(30), @Почтовый индекс nvarchar(10)
КАК
ВЫБЕРИТЕ * ОТ клиентов, ГДЕ
Город = @Город И Почтовый Индекс = @Почтовый Индекс
GO;

Выполните описанную выше хранимую процедуру следующим образом:

Пример

EXEC SelectAllCustomers @City = ‘London’, @PostalCode = ‘WA1 1DP’;

❮ Предыдущий
Следующий ❯

ВЫБОР ЦВЕТА



Лучшие учебники

Учебное пособие по HTML
Учебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебник по W3. CSS
Учебник по Bootstrap
Учебник по PHP
Учебник по Java
Учебник по C++
Учебник по jQuery

Основные ссылки

Справочник по HTML
Справочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3.CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery

Top4 Examples
Примеры HTML
Примеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery


FORUM |
О

W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения.
Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания.
Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования,
куки-файлы и политика конфиденциальности.

Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.

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

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья
  • 2 минуты на чтение

Применяется к: SQL Server Azure SQL База данных Azure SQL Управляемый экземпляр Azure Synapse Analytics Analytics Platform System (PDW)

В этом разделе описывается, как создать хранимую процедуру Transact-SQL с помощью SQL Server Management Studio и инструкции Transact-SQL CREATE PROCEDURE.

Разрешения

Требуется разрешение CREATE PROCEDURE в базе данных и разрешение ALTER на схему, в которой создается процедура.

Как создать хранимую процедуру

Можно использовать одно из следующих средств:

  • SQL Server Management Studio

  • Трансакт-SQL

Использование SQL Server Management Studio

Чтобы создать процедуру в обозревателе объектов

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

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

  3. Щелкните правой кнопкой мыши Хранимые процедуры , а затем щелкните Новая хранимая процедура .

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

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

    Параметр Значение
    Автор Ваше имя
    Дата создания Сегодняшняя дата
    Описание Возвращает данные сотрудника.
    Имя_процедуры HumanResources.uspGetEmployeesTest
    @Парам.1 @Фамилия
    @Datatype_For_Param1 нварчар (50)
    Default_Value_For_Param1 НУЛЕВОЙ
    @Парам2 @ Имя
    @Datatype_For_Param2 нварчар (50)
    Default_Value_For_Param2 НУЛЕВОЙ
  6. Щелкните OK .

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

     ВЫБЕРИТЕ Имя, Фамилия, Отдел
    ИЗ HumanResources.vEmployeeDepartmentHistory
    ГДЕ Имя = @Имя И Фамилия = @Фамилия
        И EndDate IS NULL;
     
  8. Чтобы проверить синтаксис, в меню Запрос щелкните Анализ . Если возвращается сообщение об ошибке, сравните утверждения с приведенной выше информацией и при необходимости исправьте.

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

  10. Чтобы просмотреть процедуру, указанную в обозревателе объектов, щелкните правой кнопкой мыши Хранимые процедуры и выберите Обновить .

  11. Чтобы запустить процедуру, в обозревателе объектов щелкните правой кнопкой мыши имя хранимой процедуры HumanResources. uspGetEmployeesTest и выберите Выполнить хранимую процедуру .

  12. В окне Выполнение процедуры введите Margheim в качестве значения параметра @LastName и введите значение Diane в качестве значения параметра @FirstName.

Предупреждение

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

Использование Transact-SQL

Чтобы создать процедуру в редакторе запросов

  1. В Object Explorer подключитесь к экземпляру Database Engine.

  2. В меню Файл выберите Новый запрос .

  3. Скопируйте и вставьте следующий пример в окно запроса и нажмите Выполнить . В этом примере создается та же хранимая процедура, что и выше, с использованием другого имени процедуры.