create or replace procedure bmproce( bmproce1 out sys_refcursor) is
begin
open bmproce1 for select * from wyuser.bm;
end ;
我没有建立包。就是这样一个存储过程。点测试。没有查询到数据。不知道怎么回事?
begin
open bmproce1 for select * from wyuser.bm;
end ;
我没有建立包。就是这样一个存储过程。点测试。没有查询到数据。不知道怎么回事?
数据查询到了,只是没有呈现而已。你需要增加一段显示的代码。
例如DBMS_OUTPUT.PUT_LINE();谢谢!
d:\>sqlplus /nologSQL*Plus: Release 10.2.0.4.0 - Production on 星期五 4月 17 09:03:39 2009Copyright (c) 1982, 2007, Oracle. All Rights Reserved.idle> conn wqfznc30/1@wqfz
已连接。
wqfznc30@NCDB> CREATE OR REPLACE PROCEDURE BMPROCE(BMPROCE1 OUT SYS_REFCURSOR) IS
2 BEGIN
3 OPEN BMPROCE1 FOR
4 SELECT * FROM scott.emp;
5 END;
6 /过程已创建。wqfznc30@NCDB>
wqfznc30@NCDB> DECLARE
2 v_c SYS_REFCURSOR;
3 v_r scott.emp%ROWTYPE;
4 BEGIN
5 bmproce(v_c);
6 LOOP
7 FETCH v_c INTO v_r;
8 EXIT WHEN v_c%NOTFOUND;
9 dbms_output.put_line(v_r.empno||'**'||v_r.ename);
10 END LOOP;
11 END;
12 /
7369**SMITH
7499**ALLEN
7521**WARD
7566**JONES
7654**MARTIN
7698**BLAKE
7782**CLARK
7788**SCOTT
7839**KING
7844**TURNER
7876**ADAMS
7900**JAMES
7902**FORD
7934**MILLERPL/SQL 过程已成功完成。
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON我在sqlplus中可以显示。但是在net中报错.???那位大虾连接过asp。net
例如DBMS_OUTPUT.PUT_LINE();
其他语言,可以查阅文档。
结果是有的,只是没有显示出来
调用dbms_output.put_line显示输出结果
conn.ConnectionString =getOraConnectionString();
conn.Open();
cmd.Connection = conn; cmd.CommandText = "bmproce";
cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("bmproce1", OracleType.Cursor);
cmd.Parameters["bmproce1"].Direction = ParameterDirection.Output; DataSet ds = new DataSet();
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
adapter.Fill(ds);
return ds;
网页和后台数据库经常使用这种数据集来查询数据集合。