> 0)
THEN_application_error
(-20001,
'Ви не можете проводити заміну, тому що з даним матеріалом вже була
проведена повна заміна. '
); IF; _count: = 0;
- Шукаємо чи були зроблені часткові заміни на даний матеріал
SELECT COUNT (*) mat_countmaterials_zamenmz_mat_id = in_mat_id AND mz_type = 1mz_kat_id = in_kat_id;
- Якщо проводиться повна заміна і вже є часткові заміни
IF (in_zamen_type = 0 AND mat_count> 0)
THEN_application_error
(-20001,
Ви не можете проводити повну заміну, тому що з даним матеріалом
вже була проведена часткова заміна.
); IF;
-Перевіряємо, чи можна зробити часткову заміну
IF (in_zamen_type = 1) SUM (mz_kol) summ_kolmaterials_zamenmz_mat_id = in_mat_id AND mz_type = 1 AND mz_kat_id = _kat_id; _kol: = summ_kol + in_old_kol; (summ_kol> in_max_kol)
THEN_application_error
(-20001,
'Загальна кількість матеріалів при проведенні часткових замін
перевищує максимальну кількість. '
);
END IF;
END IF; INTO materials_zamen
(mz_id, mz_kat_id, mz_mat_id, mz_new_mat_id, mz_kol, _max_kol, mz_new_kol, mz_type
) (out_id, in_kat_id, in_mat_id, in_new_mat_id, in_old_kol, _max_kol, in_new_kol, in_zamen_type
); materials_zamen_create;
Процедура видалення заміни: OR REPLACE PROCEDURE
"MATERIALS_ZAMEN_DELETE" (_mz_id IN materials_zamen.mz_id% TYPE
)
/* видалення заміни матеріалу */FROM materials_zamenmz_id = in_mz_id; materials_zamen_delete;
Структура таблиці В«закупівельВ»
В«Таблиця закупівельВ» містить інформацію про заміни
Таблиця 5.3
Таблиця В«ЗакупівліВ»
В
MC_ID: Ідентифікатор
MC_MAT_ID: Ідентифікатор матеріалу
MC_MZ_ID: Ідентифікатор заміни матеріалу
MC_POST_ID: Ідентифікатор контрагента
MC_NAME: Найменування контрагента
MC_COUNT: Кількість на закупівлю
MC_COST: Ціна
MC_EDIZM: Одиниця виміру
MC_KAT_ID: Каталог
Процедура додавання контрагента в таблицю закупівель:
CREATE OR REPLACE PROCEDURE
"...