PL/SQL: Statement ignored的问题

fengfeng86 2011-08-18 02:57:45
各位,请教:
执行存储过程:
CREATE OR REPLACE PROCEDURE sp1(s1 VARCHAR2) AS
BEGIN
select * from gl_vou_head
where co_code=:s1;
END sp1;

--------
命令行中运行:
SQL> set serverout on;
SQL> exec stock_agent('aa','10122');

begin stock_agent('aa','10122'); end;

ORA-06550: 第 2 行, 第 7 列:
PLS-00905: 对象 TEST.STOCK_AGENT 无效
ORA-06550: 第 2 行, 第 7 列:
PL/SQL: Statement ignored
请问是什么问题,谢谢。
...全文
22609 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengfeng86 2011-09-16
  • 打赏
  • 举报
回复
不对哦,暂时还不知道原因。
fengfeng86 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: 不是有效的函数或过程名

什么原因呢?
xuhao167 2011-09-15
  • 打赏
  • 举报
回复
create or replace function AAA99(a1 in varchar2)

varchar2(n) 必须指明长度的
yixilan 2011-09-15
  • 打赏
  • 举报
回复
有返回值的函数,需要这样调用:
set serverout on;
declare
vs_return_buf varchar2(10) ;
begin
select AAA99('2009') into vs_return_buf from dual;
end;
boyofcity 2011-08-18
  • 打赏
  • 举报
回复
select 字段名 into var_X from gl_vou_head
where co_code=:s1;
hanzs 2011-08-18
  • 打赏
  • 举报
回复
SQL> exec stock_agent('aa','10122');

有这个过程吗?

还有你上面写的过程sp1也是有问题的,查询出来的数据要存到哪呢?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧