Лістинг процедури INSERT_CONTENTS
CREATE PROCEDURE INSERT_CONTENTS (
I_ID_ORDER INTEGER,
I_NOM_ZAKAZ INTEGER,
I_ID_TOVAR INTEGER,
I_MARK CHAR(30),
I_CONFIG VARCHAR(200),
I_SERIAL VARCHAR(30),
I_KILK INTEGER,
I_PRICE DECIMAL(15,2),
I_GARANTY INTEGER)
AS
DECLARE VARIABLE EXIST VARCHAR(3);
DECLARE VARIABLE TEMP_ID INTEGER;
BEGIN
exist = 'No';
FOR
SELECT id_tovar FROM CONTENTS WHERE CONTENTS.NOM_ZAKAZ = :i_nom_zakaz
INTO :temp_id
DO
BEGIN
IF (temp_id = i_id_tovar) THEN exist = 'Yes';
END
IF (exist = 'Yes') then
BEGIN
UPDATE CONTENTS
SET NOM_ZAKAZ = :I_NOM_ZAKAZ, ID_TOVAR = :I_ID_TOVAR, MARK = :I_MARK,
CONFIG = :I_CONFIG, SERIAL = :I_SERIAL, KILK = KILK + 1, PRICE = :I_PRICE,
GARANTY = :I_GARANTY
WHERE (id_tovar = :i_id_tovar and nom_zakaz = :i_nom_zakaz);
END
IF (exist = 'No') then
BEGIN
INSERT
INTO CONTENTS (ID_ORDER, NOM_ZAKAZ, ID_TOVAR, MARK, CONFIG,
SERIAL, KILK, PRICE, GARANTY)
VALUES (:I_ID_ORDER, :I_NOM_ZAKAZ, :I_ID_TOVAR, :I_MARK, :I_CONFIG, :I_SERIAL, :I_KILK,
:I_PRICE, :I_GARANTY);
END
END