본문 바로가기

Data&Processing

[talend] query결과에 나온 키를 이용해서 sp실행

query결과로 나온 값들을 이용해서 sp를 반복해서 실행시킬 일이 발생하게된다. 여기서 값들이 중요!

하나의 값이라면, 이런 작업을 할 필요가 없겠지만 예를 들어 한 테이블에 작업목록 날짜가 있고 그 테이블을 읽어서 A 라는 procedure를 실행한다고 할때 다음과 같은 작업이 필요하게 된다.


sp를 사용할땐 MySQL기준으로 tMysqlRow 라는 component가 필요하고 설명을 읽어보면 flow의 iteration을 수행한다고 하니 그냥 flow를 흘려보내주면 됨.

기본적인 형태는


input -> tMysqlRow -> 결과가 있으면 다음process를 붙이면 됨



input에서는 다른것과 별 다를바가 없고 schema가 co_id, saledate, cnt_gubun 이라고 하면

tMysqlRow에는





Basic Setting에서 query나 procedure 구문을 만들고 input에서 받아올 변수에 ? 로 표기

Advanced Setting에서 파라메터 순서대로 Input에서의 값들을 mapping 해줌

tMysqlRow에서의 결과값이 필요하면 input에서 return schema에 마지막에 Object Type을 추가하고 propaget QUERY's recordset에서 object를 지정하고 다음에 연결해서 사용하면된다.

실제로 return값을 사용하려면 user's guide에서처럼 record를 tParseRecordSet을 이용해서 column단위로 parsing 필요