2017-12-01 12 views
0

조회 변환을 사용하여 표현식의 출력 포트 인 CUST_DDA 포트를 기반으로 테이블 ACCT에서 ACCT_ID를 추출하려고합니다. 다음과 같이 sqloverride를 사용하고 있습니다. 초기 검색 조건 :조회 용 입력 포트로 CUST_DDA 포트의 값을 사용하는 방법이 있습니까?

SUBSTR_ACCT_ID = IN_CUST_DDA 

무시 : ORA-00904 : "IN_CUST_DDA"

SELECT 
ACCT.ACCT_ID as ACCT_ID, 
ACCT.ALT_ACCT_ID as ALT_ACCT_ID, 
substr(acct.acct_id,-1*(length(IN_CUST_DDA))) as SUBSTR_ACCT_ID 
FROM ACCT 
WHERE ACCT.ALT_ACCT_ID LIKE '%'||TO_CHAR(IN_CUST_DDA) 
AND ACCT.ACCT_ID LIKE '%'||TO_CHAR(IN_CUST_DDA) 

상기 SQL 오버라이드 오류로 인해 실패 무효 식별자

방법 있는가 조회를위한 입력 포트로 CUST_DDA 포트의 값을 사용합니다. CUST_DDA는 ACCT 테이블에 속한 필드가 아닙니다. 이것을 할 수있는 방법이 있습니까?

감사합니다. 재정에서

답변

0

나는 당신이 당신의 IN_CUST_DDA 길이의 사용하여 같은 시간에, CHAR에 에게 IN_CUST_DDA 변환하려고하는 것을 볼 수 있습니다.

길이 함수를 문자열과 함께 사용할 수 있기 때문에 문제를 일으키는 길이 함수 일 수 있습니다.

0

(소스에서) CUST_DDA를 조회 재 지정에 사용하려면 다음을 수행하십시오. 재정의에서 공통 필드가있는 소스를 사용하여 조회 테이블에 가입해야합니다.

언급 한 방식으로 포트를 사용할 수 없습니다. 워크 플로를 실행하면 informatica 통합 서비스가 데이터베이스에서 조회 재 지정 쿼리를 실행하고 캐시 파일에 데이터를 가져옵니다 ("IN_CUST_DDA"오류 메시지 : 잘못된 식별자). 캐시 파일이 준비되면 조건을 적용한 다음 출력을받습니다.

는 주권

0

이가 아닌 캐시로 조회를 구성해야이를 달성하기 위해이

감사에 명확하지 않은 경우 알려줘, 그래서 쿼리는 각 입력 행에 대해 실행됩니다. 이것은 성능을 많이 떨어 뜨린다는 점에 유의하십시오. 다음으로 입력 포트를 물음표로 묶어서 약간 다른 구문을 사용해야합니다. example입니다. 귀하의 경우에는 다음과 같이되어야합니다 (조금 조정할 필요가 있음) :

SELECT 
ACCT.ACCT_ID as ACCT_ID, 
ACCT.ALT_ACCT_ID as ALT_ACCT_ID, 
substr(acct.acct_id,-1*(length(?IN_CUST_DDA?))) as SUBSTR_ACCT_ID 
FROM ACCT 
WHERE ACCT.ALT_ACCT_ID LIKE '%'||TO_CHAR(?IN_CUST_DDA?) 
AND ACCT.ACCT_ID LIKE '%'||TO_CHAR(?IN_CUST_DDA?)