我有以下代码。当我编译我的函数时,SQL Developer说一切都没问题,但是当我执行我的DECLARE,BEGIN,END块时,SQL Developer说光标已经打开了,但我将它关闭到我的函数中?有人可以帮我吗?
CREATE OR REPLACE TYPE courriel AS TABLE OF VARCHAR2 (100);
/
CREATE OR REPLACE FUNCTION listCourriel
RETURN courriel
AS
listeCourriel courriel := courriel();
vSuffixeCourriel varchar2(10);
vPrenom varchar2(255);
vNom varchar2(255);
CURSOR c_emp IS SELECT first_name, last_name FROM s_emp;
BEGIN
vSuffixeCourriel := '@summit.ca';
OPEN c_emp;
FOR v_emp IN c_emp LOOP
vPrenom := v_emp.first_name;
vNom := lower(v_emp.last_name);
listeCourriel.EXTEND;
listeCourriel(listeCourriel.LAST) := vPrenom || vNom || vSuffixeCourriel;
END LOOP;
CLOSE c_emp;
RETURN listeCourriel;
END;
/
DECLARE
listeCourriel courriel := courriel();
unNom VARCHAR2(100);
BEGIN
listeCourriel := listCourriel();
FOR i IN 1..listeCourriel.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(listeCourriel(i));
END LOOP;
END;
提前蹲下! :)