AdoNetShop/database/05_procedures.sql
2026-10-05 06:02:05 +05:00

39 lines
846 B
Transact-SQL

-- 05_procedures.sql
-- Создание хранимых процедур
USE [AdoNetShop];
GO
-- Процедура для получения товаров по категории
CREATE OR ALTER PROCEDURE GetProductsByCategory
@CategoryId INT
AS
BEGIN
SET NOCOUNT ON;
SELECT Id, Name, Description, Price, StockQuantity, CategoryId
FROM Products
WHERE CategoryId = @CategoryId;
END
GO
-- Процедура для безопасного обновления цены
CREATE OR ALTER PROCEDURE UpdateProductPrice
@ProductId INT,
@NewPrice DECIMAL(18,2)
AS
BEGIN
SET NOCOUNT ON;
IF @NewPrice <= 0
BEGIN
RAISERROR ('Цена должна быть больше нуля.', 16, 1);
RETURN;
END
UPDATE Products
SET Price = @NewPrice
WHERE Id = @ProductId;
END
GO