Создание хранимой процедуры — 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
Создание процедуры в обозревателе объектов
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine и разверните его.
Последовательно разверните узел Базы данных, базу данных
AdventureWorks2019
и узел Программирование.Щелкните правой кнопкой мыши элемент Хранимые процедурыи выберите пункт Создать хранимую процедуру.
В меню Запрос выберите пункт Указать значения для параметров шаблона.
В диалоговом окне Задание значений для параметров шаблона введите для показанных параметров следующие значения.
Параметр Значение Автор Ваше имя Дата создания Сегодняшняя дата Описание Возвращает данные о сотрудниках. Procedure_name HumanResources.uspGetEmployeesTest @Param1 @LastName @Datatype_For_Param1 nvarchar(50) Default_Value_For_Param1 NULL @Param2 @FirstName @Datatype_For_Param2 nvarchar(50) Default_Value_For_Param2 NULL Нажмите кнопку
В редакторе запросовзамените инструкцию SELECT следующей инструкцией:
SELECT FirstName, LastName, Department FROM HumanResources. vEmployeeDepartmentHistory WHERE FirstName = @FirstName AND LastName = @LastName AND EndDate IS NULL;
Для проверки синтаксиса выберите пункт Выполнить анализ в меню Запрос. Если возвращается сообщение об ошибке, сравните инструкции с приведенными выше и при необходимости внесите исправления.
Чтобы создать процедуру, в меню Запрос выберите команду Выполнить. Процедура создается как объект в базе данных.
Чтобы увидеть процедуру в обозревателе объектов, щелкните правой кнопкой мыши элемент Хранимые процедуры и выберите пункт Обновить.
Чтобы выполнить процедуру, в обозревателе объектов щелкните правой кнопкой мыши имя хранимой процедуры HumanResources.uspGetEmployeesTest и выберите пункт Выполнение хранимой процедуры.
В окне Выполнение процедуры введите Margheim в качестве значения для параметра @LastName и Diane в качестве значения для параметра @FirstName.
Предупреждение
Проверяйте все данные, вводимые пользователем. Не включайте их в сценарий, не выполнив проверку. Никогда не выполняйте команду, построенную на основании непроверенных пользовательских входных данных.
Использование Transact-SQL
Создание процедуры в редакторе запросов
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
В меню Файл выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку
Выполнить. В данном примере создается та же хранимая процедура, что и раньше, но с другим именем процедуры.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
Чтобы выполнить процедуру, скопируйте следующий пример в окно создаваемого запроса и нажмите кнопку
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:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D. F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Пример хранимой процедуры
Следующая инструкция 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 Учебник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 Примеры
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
Чтобы создать процедуру в обозревателе объектов
В обозревателе объектов подключитесь к экземпляру компонента Database Engine, а затем разверните этот экземпляр.
Развернуть Базы данных , развернуть базу данных
AdventureWorks2019
, а затем развернуть Программируемость .Щелкните правой кнопкой мыши Хранимые процедуры , а затем щелкните Новая хранимая процедура .
В меню Запрос щелкните Указать значения для параметров шаблона .
В диалоговом окне Задайте значения для параметров шаблона введите следующие значения показанных параметров.
Параметр Значение Автор Ваше имя Дата создания Сегодняшняя дата Описание Возвращает данные сотрудника. Имя_процедуры HumanResources.uspGetEmployeesTest @Парам.1 @Фамилия @Datatype_For_Param1 нварчар (50) Default_Value_For_Param1 НУЛЕВОЙ @Парам2 @ Имя @Datatype_For_Param2 нварчар (50) Default_Value_For_Param2 НУЛЕВОЙ Щелкните OK .
В редакторе запросов замените оператор SELECT следующим оператором:
ВЫБЕРИТЕ Имя, Фамилия, Отдел ИЗ HumanResources.vEmployeeDepartmentHistory ГДЕ Имя = @Имя И Фамилия = @Фамилия И EndDate IS NULL;
Чтобы проверить синтаксис, в меню Запрос щелкните Анализ . Если возвращается сообщение об ошибке, сравните утверждения с приведенной выше информацией и при необходимости исправьте.
Чтобы создать процедуру, в меню Запрос выберите Выполнить . Процедура создается как объект в базе данных.
Чтобы просмотреть процедуру, указанную в обозревателе объектов, щелкните правой кнопкой мыши Хранимые процедуры и выберите Обновить .
Чтобы запустить процедуру, в обозревателе объектов щелкните правой кнопкой мыши имя хранимой процедуры HumanResources. uspGetEmployeesTest и выберите Выполнить хранимую процедуру .
В окне Выполнение процедуры введите Margheim в качестве значения параметра @LastName и введите значение Diane в качестве значения параметра @FirstName.
Предупреждение
Проверка всех вводимых пользователем данных. Не объединяйте пользовательский ввод до его проверки. Никогда не выполняйте команду, созданную на основе непроверенного пользовательского ввода.
Использование Transact-SQL
Чтобы создать процедуру в редакторе запросов
В Object Explorer подключитесь к экземпляру Database Engine.
В меню Файл выберите Новый запрос .
Скопируйте и вставьте следующий пример в окно запроса и нажмите Выполнить . В этом примере создается та же хранимая процедура, что и выше, с использованием другого имени процедуры.