DB2 z/OS:Create函数失败,SQLCODE=-104

DB2 z/OS:Create函数失败,SQLCODE=-104,db2,Db2,下面的create function语句在DB2LUW上运行良好,但在DB2V9.1forz/OS上失败 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_RELA

下面的create function语句在DB2LUW上运行良好,但在DB2V9.1forz/OS上失败

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)
错误消息是:

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
我不知道SQL语句出了什么问题。有人能给我一个线索吗


谢谢。

我发现原因是DB2forz/OSV9不支持标量选择作为SQLUDF的回报。尽管如此,语法是正确的。DB2forz/OSV10应该支持这一点

谢谢