хранимые процедуры вставки из другого SQL - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в хранимых процедурах, и я пытаюсь выяснить, как сделать вставки в таблицу на основе результатов SQL.

Это мой SQL:

select count(concat(CODE_ID,MISC_FLAGS)) into count_of_plt_to_delete
from   WHSE_SYS_CODE
where  REC_TYPE = 'C'
and    CODE_TYPE = 'PLT'
minus
select  Count(concat(pcl.pkt_consol_value_1, lh.locn_brcd))
from pkt_consol_locn pcl
inner join locn_hdr lh on (lh.bay = pcl.pkt_consol_attr or pcl.pkt_consol_attr = concat(substr(lh.bay,1,1),substr(lh.bay,3,1))and lh.bay like '%0%' )
where lh.zone = 'PB'
and  PKT_CONSOL_VALUE_1 is not null
and LOCN_CLASS = 'S' -- Rows in A that are not in B
union all
select  count(concat(pcl.pkt_consol_value_1, lh.locn_brcd))
from pkt_consol_locn pcl
inner join locn_hdr lh on (lh.bay = pcl.pkt_consol_attr or pcl.pkt_consol_attr = concat(substr(lh.bay,1,1),substr(lh.bay,3,1))and lh.bay like '%0%' )
where lh.zone = 'PB'
and  PKT_CONSOL_VALUE_1 is not null
and LOCN_CLASS = 'S'
minus
select count(concat(CODE_ID,MISC_FLAGS))
from WHSE_SYS_CODE
where REC_TYPE = 'C'
and CODE_TYPE = 'PLT';
select  count(pkt_consol_value_1) into count_of_new_plt from pkt_consol_locn pcl
where pkt_consol_value_1 not in (select code_id from WHSE_SYS_CODE where REC_TYPE = 'C'
and CODE_TYPE = 'PLT')and  PKT_CONSOL_VALUE_1 is not null;
--message:='We are adding'||PKT_CONSOL_VALUE_1||'new sys_code records';
dbms_output.put_line('You are Deleting '|| count_of_plt_to_delete || ' sys_code PLT records!!  '|| count_of_new_plt || ' new sys_code PLT records are being added. Would you like to Proceed?');
END;

Это образец нужной мне вставки:

INSERT INTO whse_SYS_CODE(REC_TYPE, CODE_TYPE, WHSE, CODE_ID, CODE_DESC, SHORT_DESC, MISC_FLAGS, CREATE_DATE_TIME, MOD_DATE_TIME, USER_ID, WHSE_SYS_CODE_ID, SYS_CODE_TYPE_ID, WM_VERSION_ID, CREATED_DTTM, LAST_UPDATED_DTTM)
VALUES('C','PLT','089','0901','0901','0901','111776',SYSDATE,SYSDATE,'SMC678',WHSE_SYS_CODE_ID_SEQ.NEXTVAL,'1569','1',SYSDATE,SYSDATE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...