В начало

Скидка от суммы чека

 

            Есть таблица «Кассовые чеки», которая находится в базе данных «Аптека». Нужно написать процедуру для расчета скидки в зависимости от суммы чека.

Рис. 1. Таблица «Кассовые чеки»

Рис. 1. Таблица «Кассовые чеки»

 

            Запускаем «MS SQL Server 2009 Management Studio Express», соединяемся с сервером, а в обозревателе объектов (стакан слева) переходим  на ветку «Базы данных – Аптека – Таблицы – Кассовые чеки» и открываем через контекстное меню, чтобы была перед глазами.

Рис. 2. Поля и типы таблицы «Кассовые чеки»

 

            Нажимаем кнопку «Создать запрос» на панели кнопок, выполняем его. Процедура запишется на ветку «Хранимые процедуры». В процедуре ставим условие на размер скидок в зависимости от суммы чека, а именно, меньше 500 скидка 5%, более 500 скидка 10 %.

USE Аптека;

GO

CREATE PROCEDURE Raschet_Skidok AS

DECLARE @Skidka NUMERIC(3,1);

UPDATE [Кассовые чеки] SET Скидка =

 (CASE

                        WHEN Сумма<500 THEN 5

                        WHEN Сумма>=500 THEN 10

                        ELSE 0

               END);

            Чтобы выполнить ее надо опять же выполнить запрос ,но уже на выполнение процедуры:

EXECUTE Raschet_Skidok;

            Таким образом ,мы рассчитаем скидки в столбце «Скидки» таблицы «Кассовые чеки» базы «Аптека».

Рис. 3. Рассчитанные скидки в таблице «Кассовые чеки»