Hallo Zusammen,

ich bin im Thema DB2 recht frisch und habe jetzt ein Problem, was sich mir jetzt nicht ganz erschliesst.

Problem: Ich habe eine relativ lange und komplexe SQL Abfrage, welche ich gerne als Function auf der DB2 anlegen würde. (View muss ich ausschliessen, da ich parameter in dem SQL Statement verwenden muss).

Laut DB2/400 Reference sollte das über

Code:
CREATE FUNCTION DEPTEMPLOYEES (DEPTNO CHAR(3))
  RETURNS TABLE (EMPNO CHAR(6),
                 LASTNAME VARCHAR(15),
                 FIRSTNAME VARCHAR(12))
  LANGUAGE SQL
  READS SQL DATA
  NO EXTERNAL ACTION
  DETERMINISTIC
  DISALLOW PARALLEL
  RETURN
      SELECT EMPNO,LASTNAME,FIRSTNME
        FROM EMPLOYEE
        WHERE EMPLOYEE.WORKDEPT =DEPTEMPLOYEES.DEPTNO
funktionieren. Zu Testzwecken habe ich das selbe mit einer einfach Abfrage versucht, jedoch bekomme ich nur eins

Code:
[SQL0491] Clause not correct for CREATE FUNCTION or CREATE PROCEDURE.
Mein jetziger Versuch
Code:
CREATE FUNCTION ACTEST (userNr INTEGER)
  RETURNS TABLE (USERNAME CHAR(40))
  LANGUAGE SQL
  READS SQL DATA
  NO EXTERNAL ACTION
  DETERMINISTIC
  RETURN
    SELECT USERNAME FROM TEST.USERS p WHERE p.USERNR = ACTEST.userNr
Sind Functions evtl. gar nicht möglich? Müsste ich eine Procedure verwenden?

Vielen Dank für die Aufmerksamkeit!

Grüße