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

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

EXEC sp_stored_procedures

Создание простой процедуры без входящих и исходящих данных

CREATE PROCEDURE Count_Tovar AS
SELECT COUNT([ID]) FROM [dbo].[tovari_view]
GO
# Count_Tovar - Название процедуры

Создание процедуры c входным параметром

CREATE PROCEDURE Count_Tovar @brend AS VARCHAR(50)
AS
SELECT T.[id_t]
      ,T.[parent_id_t]
      ,T.[title_t]
      ,T.[min_op_t]
      ,T.[brend]
      ,T.[cena]
      ,T.[nali4ie]
      ,T.[artik]
      ,T.[cena_opt]
      ,T.[kolvo]
      ,T.[kolvo_yd_sklad]
      ,T.[full_op_t]
      ,T.[mgc]
      ,TV.VSEGO
  FROM [tovari] T
  LEFT JOIN ( SELECT COUNT([ID]) AS VSEGO, [TOVAR] FROM [tovari_view] GROUP BY [TOVAR] ) as TV on TV.[TOVAR]=T.[artik]
  WHERE T.[brend] LIKE @brend 
  ORDER BY TV.VSEGO DESC
  GO
# @brend - Текстовый параметр формата VARCHAR(50)

Вызов

EXEC Count_Tovar 'SONY'

Создание процедуры c несколькими входными параметрами

CREATE PROCEDURE Count_Tovar @brend AS VARCHAR(50), @cena AS INT 
AS
SELECT T.[id_t]
      ,T.[parent_id_t]
      ,T.[title_t]
      ,T.[min_op_t]
      ,T.[brend]
      ,T.[cena]
      ,T.[nali4ie]
      ,T.[artik]
      ,T.[cena_opt]
      ,T.[kolvo]
      ,T.[kolvo_yd_sklad]
      ,T.[full_op_t]
      ,T.[mgc]
      ,TV.VSEGO
  FROM [tovari] T
  LEFT JOIN ( SELECT COUNT([ID]) AS VSEGO, [TOVAR] FROM [tovari_view] GROUP BY [TOVAR] ) as TV on TV.[TOVAR]=T.[artik]
  WHERE T.[brend] LIKE @brend AND T.[cena] >=@cena 
  ORDER BY TV.VSEGO DESC
  GO
# @brend - Текстовый параметр формата VARCHAR(50)
# @cena - Цифровой параметр формата INT

Вызов

EXEC Count_Tovar 'SONY', 7000

Удаление процедуры

DROP PROCEDURE Count_Tovar;
Micro
Author: Micro

///

Поделиться в социальных сетях
3.5 2 голоса
Рейтинг статьи
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии