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