Бардак-с, уже плохо в консерватории

Может у него база в разработке...

    Тот, кто добавил поле, обязан отследить и исправить зависимости.
Автоматизированный бардак получится

Смотри:

  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";

Много тут наотслеживаешь? В глазах рябь стоит ;-)

В оригинальной процедуре эта команда высотой в 9 строк. Если отформатировать так, что кажлое поле будет на отдельной строке, то получится 21 * 2 + 3 = 45 строк.
И других таблиц в этой процедуре с десяток.

Сильно удобно работать с процедурой, которая делает вобщем-то простые действия, но имеет там штук 200-300 строк кода?

    EXECUTE STATEMENT

Не прокатит. Я генерил неоднократно в PSQL команды динамически, но для этого случая не прокатит - не хватит возможностей PSQL и самого ES.


PS А предложенная команда COPY вроде ничего так, а? ;-)

Ответить