如何解决此问题? :DB2 FUNCTION TEST ERROR
CREATE OR REPLACE FUNCTION "BADIL_PROD"."FCT_UPDATE_POINTAGE" (id_projet in NUMBER)
return NUMBER
is
Results NUMBER;
CURSOR cur_update IS
SELECT distinct t.ID_TACHE,t.id_collaborateur,t.id_ref_rubrique_activite
FROM TACHES t
where t.ID_PROJET =id_projet ;
begin
dbms_output.enable(200000);
FOR cur in cur_update
LOOP
BEGIN
dbms_output.put_line(cur.ID_TACHE || '--' || cur.ID_COLLABORATEUR || '--' || cur.ID_REF_RUBRIQUE_ACTIVITE);
UPDATE POINTAGES p SET p.ID_TACHE_INCIDENT = cur.ID_TACHE
where p.id_projet_tma=id_projet
and p.ID_COLLABORATEUR = cur.ID_COLLABORATEUR
AND p.ID_REF_RUBRIQUE_ACTIVITE = cur.ID_REF_RUBRIQUE_ACTIVITE;
END;
END LOOP;
results:=0;
return(results);
end fct_update_pointage;
所以,当我想测试这个功能我得到这个错误的数据演播室:
(具体名称“FCT_UPDATE_POINTAGE”)试图修改数据,但被 没有定义为修改SQL数据.. SQLCODE = -577,
你似乎在为你的函数使用PL/SQL;您是否在数据库中启用了Oracle兼容性? – mustaccio
是的,我做了...... –