如下create or replace procedure xn_pro(v_ename out varchar2)
is
begin
select ename into v_ename from emp;
end;
错误:
ORA-06550: 第 2 行, 第 7 列:
PLS-00306: 调用 'XN_PRO' 时参数个数或类型错误
ORA-06550: 第 2 行, 第 7 列:
PL/SQL: Statement ignored怎么修改 很久不写过程 怎么老写不对……
is
begin
select ename into v_ename from emp;
end;
错误:
ORA-06550: 第 2 行, 第 7 列:
PLS-00306: 调用 'XN_PRO' 时参数个数或类型错误
ORA-06550: 第 2 行, 第 7 列:
PL/SQL: Statement ignored怎么修改 很久不写过程 怎么老写不对……
解决方案 »
- 请教一个联合查询思路和效率的问题
- 在PLSQL里写存储过程中怎么传参数
- Orcale 的奇怪问题
- 为什么我的oracle9i里没有oracle enterprise manager console??
- winXP上新安装的数据库在Enterprise Manager中登陆时报错“没有监听”怎么解决?
- 怎么可以写出正确的sql语句??
- 请beckhambobo(beckham)进来拿分
- 我晕,TNS起不来...
- 为什么不能设置autotrace?
- 请问实现如下效果,sql语句该怎么写
- oracle 10g 版本 ,存储过程 , 取不到想要的值!
- 磁带库已废弃不用,如何删除磁带库上的过期废弃的备份集?
但是取数据的时候会出现错误 ,因为select语句取了多条数据到一个变量里,装不下.
2 is
3 begin
4 select ename into v_ename from emp ;
5 end;
6 /
Procedure created
SQL> var o_name varchar2
SQL> exec xn_pro(:o_name);
begin xn_pro(:o_name); end;
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at "SCOTT.XN_PRO", line 4
ORA-06512: at line 2
o_name
---------
SQL>
SQL> create or replace procedure xn_pro(v_ename out varchar2)
2 is
3 begin
4 select ename into v_ename from emp where rownum=1;
5 end;
6 /
Procedure created
SQL> exec xn_pro(:o_name);
PL/SQL procedure successfully completed
o_name
---------
SMITH
SQL>
create or replace procedure xn_pro(v_ename out varchar2)
is
begin
select ename into v_ename from emp where rownum=1;
end;--or
create or replace procedure xn_pro(no emp.empno%type,v_ename out varchar2)
is
begin
select ename into v_ename from emp where empno=no;
end;