제가 Developer/2000을 사용하여 PL/SQL을 코딩하고 있습니다.
한 테이블의 한 아이템이 21개의 레코드로 되어있습니다.
그렇게 21개 레코드로 된 아이템들은 6개가 있구요.
PRE-INSERT 트리거를 사용해서 그 안에 코딩을 해야 하는데,
근데 이걸 저장할려고 하니깐 seg_no로 해서 6개의 아이템의 1첫째 레코드들을 seg_no = 1로 주어 저장하고
다음 2번째 레코드들을 2로 주어 저장하라고 합니다...
21개 레코드 이지만 그전에 끝나서 null값도 있구요.
그런데 각 아이템의 first_record 부터 last_record의 레코드마다 키값이 있어야 하는거 아닌가요?ㅠ 근데 레코들을 잡을때 하나로 잡혀서 각각의 레코드들을 잡을수가 없는거 아닙니까?
이걸 짤려고 하니깐 예문을 들어줬는데
declare
vSeq_No number;
vCde varchar2(10);
BEGIN
:Tnr_Plan.Ctno := :NBT_BLK.CTNO ;
:Tnr_Plan.Clnc_Dept_Cde := 'zz';
if get_item_property('TNR_PLAN.KARDEX_CLS', VISIBLE) = 'FALSE' then
:Tnr_Plan.Kardex_Cls := :Global.Frm_ocnre010_Cls;
end if;
begin
select /*+ index_desc ( i tnr_plan_pk ) */
nvl(seq_no,0) + 1 into vSeq_No
from tnr_plan i
where i.ctno = :tnr_plan.ctno
and i.ord_date = :tnr_plan.ord_date
and i.clnc_dept_cde = :tnr_plan.clnc_dept_cde
and i.kardex_cls = :tnr_plan.kardex_cls
and rownum = 1;
exception
when others then vSeq_No := 1;
end;
:Tnr_Plan.Ctno := :NBT_BLK.CTNO ;
:Tnr_Plan.Seq_No := vSeq_No;
END ;
이렇게 하라는데..
전 도저히 어떻게 해야 할지 모르겠습니다. 이해가 되셨는지 모르겠지만
꼭 부탁 드립니다.ㅜㅜ
|