Розробка бази даних контролю товарообігу на складі (С++ Builder)
23

F (що відповідає значенню «не істина», тобто документ не проведено).

Зовнішні зв’язки між таблицями, а також їх тип зображено на рис. 4.1.

Крім таблиць база даних включає в себе 2 зберігані процедури.

Зберігана процедура «TO_SKLAD» призначена для доповнення таблиці «SKLAD» товарами прихідної накладної і виконується при проведенні документу. SQL-зпит процедури має наступний вигляд:

CREATE PROCEDURE TO_SKLAD (

    in_id integer,

    in_item varchar(45),

    in_ediz varchar(2),

    in_kol integer,

    in_price numeric(15,2))

as

declare variable bool varchar(1);

declare variable temp_item varchar(45) character set win1251;

begin

  BOOL = 'N';

  FOR

    SELECT ITEM FROM sklad INTO :temp_item

  DO

  BEGIN

    IF (temp_item = in_item) THEN BOOL = 'Y';

  END

  IF (BOOL = 'Y') then

  BEGIN

    UPDATE sklad SET id = :in_id, price = :in_price,  kol = kol + :in_kol

    WHERE (item = :in_item);

  END

  IF (BOOL = 'N') then

  BEGIN

    INSERT INTO sklad (ID, ITEM, EDIZ, KOL, PRICE)

    values (:in_id, :in_item, :in_ediz, :in_kol, :in_price);

  END

End;