1 / 8

사용자 정의 컬럼 복제 - 하이닉스 기준

사용자 정의 컬럼 복제 - 하이닉스 기준. 2012 년 10 월 08 일. 요청사항. 1. I/U 구분코드 DELETE 구문은 기존과 동일하게 DELETE 처리 I/U 구분코드 컬럼에 ‘ INSERT ’ or ‘ UPDATE ’ 처리 I/U 구분코드 컬럼명과 컬럼 ID 는 설정이 가능해야함 (TX_DATE 처럼 COLID=1, 컬럼명 = ‘ TX_DATE ’ 한정되면 안됨… )

ull
Download Presentation

사용자 정의 컬럼 복제 - 하이닉스 기준

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 사용자 정의 컬럼 복제 - 하이닉스 기준 2012년 10월 08일

  2. 요청사항 • 1. I/U 구분코드 • DELETE 구문은기존과동일하게 DELETE 처리 • I/U 구분코드컬럼에‘INSERT’ or ‘UPDATE’처리 • I/U 구분코드컬럼명과컬럼ID는설정이가능해야함 • (TX_DATE 처럼 COLID=1, 컬럼명 = ‘TX_DATE’한정되면안됨…) • 확장성을 고려하여 ‘INSERT’, ‘UPDATE’ 값은 ‘I’, ‘U’ 와 같이 설정에 따라 변경 가능해야함 • 추후 타 싸이트 요구사항(삼성생명, KLNET 이었나?)을 고려하여 D 구분코드처리도추가필요 • 2. 발생지 코드 • 어떤 테이블에서 발생된 데이터인지 식별이 가능한 구분코드 • I/U/D 와마찬가지로컬럼명, COLID 는설정가능해야함 • 구분코드 값은 설정 가능해야 함

  3. Catalog DB 추가 NR_DICINFO_CT 테이블추가 CREATE TABLE NRADMIN.NR_DICINFO_CT ( GRP_CODE VARCHAR2(50 BYTE) NOT NULL, POL_CODE VARCHAR2(30 BYTE) NOT NULL, DIC_OBJID NUMBER NOT NULL, DIC_TNAME VARCHAR2(30 BYTE), DIC_OWNER VARCHAR2(50 BYTE), DIC_COLNAME VARCHAR2(50 BYTE), DIC_DATATYPE VARCHAR2(200 BYTE), DIC_CODETYPEVARCHAR2(10 BYTE) );

  4. Catalog DB 추가 2. NR_DICCODE 테이블추가 CREATE TABLE NRADMIN.NR_DICCODE ( DICCODE_TYPE VARCHAR2(10 BYTE) NOT NULL, DICCODE_KEYVARCHAR2(50 BYTE) NOT NULL, DICCODE_VALUE VARCHAR2(50 BYTE) NOT NULL, DICCODE_DESC VARCHAR2(100 BYTE) ); DICCODE_TYPE(NR_DICCODE)은 DIC_CODETYPE(NR_DICINFO_CT)과 JOIN 되며, 현재 두가지 유형을 지원한다. - OPCODE0001 (OPCODE****) : OPCODE(1,2,3)를 KEY로 하여 원하는 VALUE를 적용한다. - OBJID0001 (OBJID****) : OBJID(테이블 식별자)를 KEY로 하여 원하는 VALUE를 적용한다. * “OPCODE” , “OBJID” NRCONS 에 추가해서 관리하는 것도 좋을 듯 * 파티션 테이블일 경우 모든 OBJID에 대해서 NR_DICCODE를 등록해 주어야 한다.

  5. 수정 – DICINFO 모듈 NR_DICINFO_CT 정보 SELECT SELECT * ") FROM NR_DICINFO_CT") WHERE POL_CODE =‘P101’ ORDER BY DIC_OWNER, DIC_TNAME, DIC_COLNAME; 2. NR_DICCODE 정보 SELECT SELECT T2.DICCODE_TYPE, T2.DICCODE_KEY, T2.DICCODE_VALUE FROM NR_DICINFO_CT T1, NR_DICCODE T2 WHERE T1.DIC_CODEKEY = T2.DICCODE_KEY AND T1.POL_CODE =‘P101’ GROUP BY T2.DICCODE_TYPE, T2.DICCODE_KEY, T2.DICCODE_VALUE;

  6. 수정 – DICINFO 모듈 3. 관련 객체 생성 ( Apply에서 DICINFO 생성 시 다음 객체 정보를 추가 구성한다.) Hashtable<Long,Vector<NRDicColumnObject>> HT_DICINFO_CUSTOM Hashtable<String, Hashtable<String, String>> HT_DICCODE 4. INSERT 구문 생성 시 커스텀컬럼(NR_DICINFO_CT)이 존재한다면 존재하는 개수 만큼 SQL구문 맨 앞에 추가하여 INSERT구문 생성 - 커스텀컬럼은 APMGR에서 구문 생성 시 맨 앞에 위치. - 실제 타켓 테이블 컬럼 순서는 상관없음.

  7. 수정 – APPLY 모듈 UPDATE SET 구문 생성 커스텀컬럼(NR_DICINFO_CT)이 존재한다면 존재하는 개수 만큼 UPDATE SET절 SQL 구문 맨 앞에 추가 (추가컬럼=?) 2. INSERT/UPDATE setString() CODETYPE이 OPCODE 로 시작되면 OPCODE 를 KEY로한 VALUE 값을 넣는다. CODETYPE이 OBJID로 시작되면 OBJID를 KEY로 한 VALUE 값을 넣는다.

  8. [예시] Catalog DB Setting 1. NR_DICCINFO_CT 2. NR_DICCODE

More Related