create or replace function AAA99(a1 in varchar2)
RETURN types.cursorTypes IS
resultSet types.cursorTypes;BEGIN
BEGIN INSERT INTO admin_work_area
SELECT aa1,aa2 FROM gr where gg=a1;
END;
--返回结果集
OPEN resultSet FOR
select g1,g2 from admin_work_area;
RETURN resultSet;
CLOSE resultSet;
END AAA99;
-----------PL-SQL命令窗口执行--
SQL> set serverout on;
SQL> call AAA99(2009);
call AAA99(2009)
ORA-06576: 不是有效的函数或过程名
什么原因呢?
RETURN types.cursorTypes IS
resultSet types.cursorTypes;BEGIN
BEGIN INSERT INTO admin_work_area
SELECT aa1,aa2 FROM gr where gg=a1;
END;
--返回结果集
OPEN resultSet FOR
select g1,g2 from admin_work_area;
RETURN resultSet;
CLOSE resultSet;
END AAA99;
-----------PL-SQL命令窗口执行--
SQL> set serverout on;
SQL> call AAA99(2009);
call AAA99(2009)
ORA-06576: 不是有效的函数或过程名
什么原因呢?
2. 调用函数不能直接 call,因为有返回值,你没有获取,可以使用 var 定义一个变量
2、调用结果集
variable v_c refcursor;
call AAA99('2009') into :v_c;
print v_c