Как использовать l oop с запросом oracle? - PullRequest
0 голосов
/ 05 мая 2020

В процедуре есть запрос, по которому я извлекаю данные и записываю их в таблицу. Код внутри процедуры следующий.

      SELECT 
     SUBSTR(sl.TASK_JOB_ID,1,12) AS schedule_id,
     null AS schedule_seq,
     null AS schedule_subseq,
     BULK COLLECT
     INTO v_schedule_detail_table 
     FROM sch_line sl,
     SCH_INPUT_MATERIAL sim ,
     SCH_INPUT_PIECE sip,
     SCH_PIECES_RELATION spr,
     SCH_CUT sc
     WHERE sl.TASK_JOB_ID=v_schedule_table(i).schedule_id  AND sl.SCH_LINE_NUM_ID=sim.SCH_LINE_NUM_ID AND sim.INPUT_MAT_NUM_ID=sip.INPUT_MAT_NUM_ID
     AND sip.INPUT_PIECE_NUM_ID=spr.INPUT_PIECE_NUM_ID AND spr.SCHC_CUT_NUM_ID=sc.SCHC_CUT_NUM_ID;

Когда этот код получает данные в таблице sch_cut, я хочу заполнить расписание seq и schedule_subseq, как в приведенном ниже примере.

В качестве примера значения идентификатора расписания следующий вывод появится таблица sch_cut.

SCH_CUT

Согласно этой таблице без взятия значения 0 в группировке штук;

Если to_cut_trans_flag = Y , то значения увеличиваются до schedule_seq. Если to_cut_long_flag = Y, то значения увеличиваются до schedule_subseq,

, и алгоритм будет следующим:

enter image description here

Наконец, вывод, который я хочу видеть для этого примера, должен быть заполнен следующим образом

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...