Здравствуйте, Alex.Che, Вы писали:
AC>Привет, Аноним! AC>Вы пишешь 20 декабря 2006:
А>> Пишу следующую конструкцию: AC>[Sorry, skipped]
AC>У тебя там где-то ошибка. AC>Где именно неизвестно. AC>Ибо текст процедуры ты не приводишь...
AC>-- AC>With best regards, Alex Cherednichenko.
CREATE PROCEDURE PI_GRP_BASE (
IN_ID_TYPE INTEGER,
IN_ID_PRODUCEDEPT INTEGER,
IN_ID_FOUNDEPT INTEGER,
IN_ID_GROUP INTEGER)
AS
DECLARE VARIABLE ART_TYPE INTEGER;
DECLARE VARIABLE ID_PRODUCEDEPT INTEGER;
DECLARE VARIABLE ID_FOUNDEPT INTEGER;
DECLARE VARIABLE ID_BASE INTEGER;
begin
for select id_type
from art_types
where id_type = :IN_ID_TYPE or :IN_ID_TYPE = 0
into :ART_TYPE
do
begin
for select id_department
from departments
where active_record = 1
and (id_department = :IN_ID_PRODUCEDEPT or :IN_ID_PRODUCEDEPT = 0)
into :id_producedept
do
begin
for select id_department
from departments
where active_record = 1
and DETECTION = 1
and (id_department = :in_id_foundept or :in_id_foundept = 0)
into :id_foundept
do
Begin
if (not exists (select * from VW_GRP_BASE_GROUP
where id_group = :IN_ID_GROUP
and art_type = :art_type
and id_producedept = :id_producedept
and ID_FOUNDDEPT = :id_foundept)) then
Begin
insert into GRP_BASE( art_type, id_producedept, id_founddept)
values ( :art_type, :id_producedept, :id_foundept);
select id_base
from grp_base
where art_type = :art_type
and id_producedept = :id_producedept
and ID_FOUNDDEPT = :id_foundept
into :id_base;
insert into lnk_grps( id_grp, id_base)
values( :in_id_group, :id_base);
End
End
End
End
end^