2011-01-27 1 views
1

아래의 create function 문은 DB2 LUW에서는 제대로 작동하지만 z/OS 용 DB2 V9.1에서는 실패합니다.DB2 z/OS : SQLCODE = -104로 작성 함수가 실패했습니다.

CREATE FUNCTION PLAT_FN_GASN (
OBJID CHARACTER(18)) 
    RETURNS CHARACTER(18) 
    LANGUAGE SQL 
    READS SQL 
    DATA DETERMINISTIC 
    NO EXTERNAL ACTION 
    RETURN SELECT SRCOBJID 
    FROM PLAT_V_RELATIONSHIPS AS R2 
    WHERE RELTYPENAME = 'ApplyTaskRefOutputSpec' AND MODELNAME = 'MiningTask' 
    AND TGTOBJID = (SELECT SRCOBJID 
       FROM PLAT_V_RELATIONSHIPS AS R1 
       WHERE RELTYPENAME = 'ApplyOutputHasContentItems' AND MODELNAME = 'MiningTask' 
       AND TGTOBJID = OBJID) 

오류 메시지 : 내가 SQL 문 뭐가 잘못 됐는지 알아낼 수 없습니다

ILLEGAL SYMBOL "SRCOBJID". SOME SYMBOLS THAT MIGHT BE LEGAL ARE: SOURCE PARAMETER STOP INHERIT RETURNS CALLED ALLOW CONTAINS. SQLCODE=-104, SQLSTATE=42601, DRIVER=3.53.71 

. 누군가가 내게 단서를 줄 수 있습니까?

감사합니다.

답변

0

이유는 z/OS 용 DB2입니다. V9는 SQL UDF의 RETURN에서 스칼라 선택을 지원하지 않습니다. 구문은 정확하지만. z/OS 용 DB2 V10이이를 지원해야합니다.

감사합니다.

관련 문제