"Мадорский Г.В." ...
>
> >> >
> >> > EXECUTE STATEMENT
> >>
> >> усугубляем ? :)
> >
> > Не нада догм ;)
> >
> Присоединюсь к "усугубляем ". Вот гляди :
>
> INSERT INTO "_WbsElements" (
> "Id", "ProjectId", "VersionId", "SourceId", "Name", "Wbs", "WbsLevel",
> "WbsElementTypeId", "BottomUpStartDate", "StartDate",
> "TopDownStartDate", "BottomUpFinishDate",
> "FinishDate", "TopDownFinishDate", "Duration",
> "TimePhasedTypeId", "TimePhasedUnitId",
> "TimePhasedValue", "ActivityStatusId", "Notes")
> SELECT :"DestinationTaskId", :"DestinationProjectId", 0,
> :"SourceTaskId", "Name", "Wbs", "WbsLevel",
> "WbsElementTypeId", "BottomUpStartDate", "StartDate",
> "TopDownStartDate", "BottomUpFinishDate",
> "FinishDate", "TopDownFinishDate", "Duration",
> "TimePhasedTypeId", "TimePhasedUnitId",
> "TimePhasedValue", "ActivityStatusId", "Notes"
> FROM "Tasks" WHERE "Id" = :"SourceTaskId";
>
> Пока в ES все эти кавыки впихнешь - крышу точно сорвет нафиг... :)))
А кто заставляет-то писать именно так ???
Вот - на коленке нашёл :
s = "";
for select """" || rdb$field_name || """"
from rdb$relation_fields
where rdb$relation_name = :rel_name
and :def_flds like "," || rdb$field_name || ","
into :fld
do if (s = "")
then s = fld
else s = s || ", " || fld;
s_from = s;
s_to = s;
// добавляем остальные поля с транформациями, этот список постоянен,
// или передаётся "сверху"
s = "INSERT INTO " || :rel_name || " (" || :s_to || ") " || :s_from ||
" FROM " || :rel_name || " WHERE " || s_where;
execute statement :s;
--
Хорсун Влад