Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
27.04.2015
Размер:
26.62 Кб
Скачать

Процедура добавление нового заказа в таблицу Orders.

CREATE PROCEDURE NewOrder @cust_id CHAR(IO) AS - - Объявление переменной для номера заказа DECLARE @order_num INTEGER -- Получение текущего наибольшего номера заказа SELECT  @order_num=MAX (order_num) FROM Orders Determine next order number SELECT @order_num=@order_num+l -- Добавление нового заказа INSERT INTO Orders(order_num, order_date, cust_id) VALUES(®order_num, GETDATEO, @cust_id) -- Возвращение номера заказа RETURN ©order num;

     

Эта хранимая процедура создает новый заказ в таблице Orders. Она принимает один параметр — идентификатор клиента, сделавшего заказ. Два других столбца таблицы, номер и дата заказа, генерируются автоматически в самой хранимой процедуре. Вначале в коде объявляется локальная переменная для хранения номера заказа. Затем выбирается текущий наибольший номер заказа (посредством функции МАХ ()) и увеличивается на единицу (с помощью оператора SELECT). После этого добавляется заказ посредством оператора INSERT с использованием только что сгенерированного номера заказа, выбирается текущая системная дата (с помощью функции GETDATE ()) и передается идентификатор клиента. Наконец, номер заказа (необходимый для обработки предметов заказа) возвращается как RETURN @order_num. Отметим, что код снабжен комментариями, это всегда следует делать при написании хранимых процедур.