+ -
当前位置:首页 → 问答吧 → 不是有效的函数或过程名,求指点

不是有效的函数或过程名,求指点

时间:2011-09-15

来源:互联网

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: 不是有效的函数或过程名
 
什么原因呢?

作者: fengfeng86   发布时间: 2011-09-15

1. 函数的参数是 varchar2,你用的是数值,可能会因为参数类型不匹配找不到函数
2. 调用函数不能直接 call,因为有返回值,你没有获取,可以使用 var 定义一个变量

作者: opps_zhou   发布时间: 2011-09-15

是不是这样:CALL AAA99("2009");

作者: gioh0022   发布时间: 2011-09-15