Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да създадете съхранена процедура в SQL Server

За да създадете съхранена процедура в SQL Server:

  1. Щракнете върху Нова заявка в лентата с инструменти SSMS
  2. Въведете (или поставете) СЪЗДАВАНЕ НА ПРОЦЕДУРА изявление (пример по-долу)
  3. Щракнете върху Изпълнение бутон на лентата с инструменти

Това ще добави съхранената процедура към базата данни. Можете да го видите под възела Съхранени процедури в Object Explorer.

По-долу са екранни снимки и повече подробности за горните стъпки.

Нова заявка

Щракнете върху Нова заявка в лентата с инструменти SSMS:

Процедурата CREATE PROCEDURE

Въведете СЪЗДАВАНЕ НА ПРОЦЕДУРА изявление.

Пример

Ето пример за СЪЗДАВАНЕ НА ПРОЦЕДУРА изявление:

CREATE PROCEDURE LatestTasks @Count int AS
SET ROWCOUNT @Count
SELECT TaskName AS LatestTasks, DateCreated
FROM Tasks
ORDER BY DateCreated DESC

Този скрипт създава съхранена процедура, наречена LatestTasks, която приема параметър, наречен Count.

Как да напиша изявление CREATE PROCEDURE

Започвате скрипта си с CREATE PROCEDURE [име_на_процедура] КАТО.

Например, за да създадете съхранена процедура, наречена GetCustomer, започнете със следното:

CREATE PROCEDURE GetCustomer AS

Следвайте това със SQL кода за съхранената процедура – ​​точно както в горния пример.

Ако съхранената процедура трябва да приема параметри, добавете тези и техния тип данни към първия ред. Добавете префикс към името на параметъра с @ символ.

Например за добавяне на параметър, наречен CustomerId с тип данни Integer:

CREATE PROCEDURE GetCustomer @CustomerId int AS

Изпълнете изявлението

Щракнете върху Изпълнение бутон в лентата с инструменти, за да изпълните SQL израза, който създава съхранената процедура.

Като алтернатива натиснете F5 клавиша на клавиатурата си.

Вече трябва да видите съхранената процедура в Object Explorer.

Изпълнете съхранената процедура

За да изпълните или извикате съхранената процедура, използвайте или EXECUTE или EXEC команда (и двете правят едно и също нещо).

Така че може да бъде или това:

EXECUTE GetCustomer @CustomerId = 7

или това:

EXEC GetCustomer @CustomerId = 7

Горното предава параметър, наречен CustomerId със стойност 7. Промяната на тази стойност ще обработи друг клиент.

Следната екранна снимка показва ефекта от предаването на различен параметър. Два EXEC операторите се изпълняват срещу една и съща съхранена процедура, но всеки от тях предава различна стойност на параметъра:

Изпълнение на съхранена процедура от GUI

Можете да извикате съхранена процедура направо от Object Explorer в SSMS GUI.

Просто щракнете с десния бутон върху съхранената процедура и изберете Изпълни съхранена процедура... :

Това води до показване на следния диалогов прозорец „Изпълнение на процедурата“, където можете да предоставите стойности за всички параметри, които съхранената процедура ще използва:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Log Shipping &Disaster Recovery Installation and Configuration -2

  2. Получете привилегии на колона за таблица в SQL Server с помощта на T-SQL:sp_column_privileges

  3. Колко важен е редът на колоните в индексите?

  4. SQL производителност при LEFT OUTER JOIN срещу NOT EXISTS

  5. Преобразуване на ‘time’ в ‘smalldatetime’ в SQL Server (T-SQL примери)