Maik Görgens: IBM DB2: Problem mit Function

Beitrag lesen

Hallo!

Ich will grad ne Funktion in IBM DB2 schreiben, bekomms aber irgendwie nicht hin. Meine Funktion:

CREATE FUNCTION team03.i_thema (ids integer)
RETURNS INTEGER
LANGUAGE SQL
MODIFIES SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
BEGIN ATOMIC
INSERT INTO team03.lehrstuhl VALUES (0, 'name', 'site', ids);
RETURN 1;
END

Der Fehler:

SQL0628N  Bezüglich der Klausel "MODIFIES SQL DATA" werden mehrere oder widersprüchliche Schlüsselwörter verwendet.  LINE NUMBER=13.  SQLSTATE=42613

Ich finde nicht, was da falsch ist. Insbesondere seh ich den Unterschied nicht zu dem Beispiel, das IBM auf seinen Webseiten hat:

CREATE FUNCTION DEPTEMPLOYEES (DEPTNO CHAR(3))
       RETURNS TABLE (EMPNO CHAR(6),
                      LASTNAME VARCHAR(15),
                      FIRSTNAME VARCHAR(12))
       LANGUAGE SQL
       MODIFIES SQL DATA
       NO EXTERNAL ACTION
       DETERMINISTIC
       BEGIN ATOMIC
         INSERT INTO AUDIT
         VALUES (USER,
                 'Table: EMPLOYEE Prd: DEPTNO = ' CONCAT DEPTNO);
         RETURN
           SELECT EMPNO, LASTNAME, FIRSTNME
             FROM EMPLOYEE
             WHERE EMPLOYEE.WORKDEPT = DEPTEMPLOYEES.DEPTNO
       END

Könnt ihr mir da weiterhelfen?

Vielen Dank und Grüße
Maik