Клиент-сервер_для курсовой / Процедуры
.docПроцедура добавление нового заказа в таблицу 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. Отметим, что код снабжен комментариями, это всегда следует делать при написании хранимых процедур.