홈 · 개발 참고자료

개발 참고자료

오라클의 주석문을 이용하여 DW만들때 헤더타이틀을 한글로 만들어 주기...

작성자
착한아이
작성일
2015-02-08
조회
12856
분류
파워빌더
데이터 윈도우 만들때 헤더의 타이틀이 컬럼명으로 나오자나요 그것을 주석문으로 바꿔주는거에요


주석문을 영문으로 하면 의미없겠지만 대부분 한글로 주석사용하니까 ㅋㅋㅋㅋ


그 주석문으로 타이틀을 만들어 준답니다. ^^




/* 테이블 */


MERGE
INTO PBCATTBL T
USING (select owner, table_name, comments from ALL_TAB_COMMENTS where TABLE_NAME = :as_tab) S
ON (t.pbt_tnam = s.table_name)
WHEN MATCHED THEN -- 존재하면 UPDATE
UPDATE SET pbt_ownr = s.owner ,
pbt_cmnt = s.comments ,
pbd_fhgt = -9 ,
pbd_fwgt = 400 ,
pbd_fitl = 'N' ,
pbd_funl = 'N' ,
pbd_fchr = 0 ,
pbd_fptc = 34 ,
pbd_ffce = 'Tahoma' ,
pbh_fhgt = -9 ,
pbh_fwgt = 400 ,
pbh_fitl = 'N' ,
pbh_funl = 'N' ,
pbh_fchr = 0 ,
pbh_fptc = 34 ,
pbh_ffce = 'Tahoma' ,
pbl_fhgt = -9 ,
pbl_fwgt = 400 ,
pbl_fitl = 'N' ,
pbl_funl = 'N' ,
pbl_fchr = 0 ,
pbl_fptc = 34 ,
pbl_ffce = 'Tahoma'
WHEN NOT MATCHED THEN -- 없으면 INSERT
INSERT ( pbt_tnam, pbt_ownr, pbt_cmnt, pbd_fhgt, pbd_fwgt, pbd_fitl, pbd_funl, pbd_fchr, pbd_fptc, pbd_ffce, pbh_fhgt, pbh_fwgt, pbh_fitl, pbh_funl, pbh_fchr, pbh_fptc, pbh_ffce, pbl_fhgt, pbl_fwgt, pbl_fitl, pbl_funl, pbl_fchr, pbl_fptc, pbl_ffce ) VALUES
( s.table_name, s.owner, s.comments, -9, 400, 'N', 'N', 0, 34, 'Tahoma', -9, 400, 'N', 'N', 0, 34, 'Tahoma', -9, 400, 'N', 'N', 0, 34, 'Tahoma');




/* 컬럼 */


MERGE
INTO PBCATCOL T
USING ( select a.owner
, a.table_name
, a.column_name
, nvl(trim(a.comments), a.column_name) as comments
,case when INSTR(b.data_type,'CHAR') > 0 then 23
when INSTR(b.data_type,'NUM') > 0 then 24
when INSTR(b.data_type,'DATE') > 0 then 25
else 23 end pbc_jtfy
from ALL_COL_COMMENTS a inner join
DBA_TAB_COLS b on ( a.owner = b.owner and a.table_name = b.table_name and a.column_name = b.column_name )
where a.table_name = :as_tab) S
ON (t.pbc_ownr = s.owner and t.pbc_tnam = s.table_name and t.pbc_cnam = s.column_name )
WHEN MATCHED THEN -- 존재하면 UPDATE
UPDATE SET PBC_LABL = s.comments,
PBC_LPOS = 23,
PBC_HDR = s.comments,
PBC_HPOS = 25,
PBC_JTFY = s.pbc_jtfy,
PBC_MASK = null ,
PBC_CASE = 26,
PBC_HGHT = 65,
PBC_WDTH = 200,
PBC_PTRN = null ,
PBC_BMAP = 'N',
PBC_CMNT = s.comments
WHEN NOT MATCHED THEN -- 없으면 INSERT
INSERT ( pbc_tnam, pbc_ownr, pbc_cnam, pbc_labl, pbc_lpos, pbc_hdr, pbc_hpos, pbc_jtfy, pbc_mask, pbc_case, pbc_hght, pbc_wdth, pbc_ptrn, pbc_bmap, pbc_cmnt ) VALUES
( s.table_name, s.owner, s.column_name ,s.comments, 23, s.comments, 25, s.pbc_jtfy, null, 26, 65, 200, null, 'N', s.comments);


commit;