Список всех хранимых процедур
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;