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
funktionieren. Zu Testzwecken habe ich das selbe mit einer einfach Abfrage versucht, jedoch bekomme ich nur einsCode: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
Mein jetziger VersuchCode:[SQL0491] Clause not correct for CREATE FUNCTION or CREATE PROCEDURE.
Sind Functions evtl. gar nicht möglich? Müsste ich eine Procedure verwenden?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
Vielen Dank für die Aufmerksamkeit!
Grüße
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks