如何使用存储过程像MSSQL的存储过程 能够返回一个结果集 这个我也略有所知我现在需要一个实例 ! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如何返回结果集?"天啦.Oracle的sp不能返回结果集!!!"……在SQL Server Oracle的工作中你是否会发出这样的惊呼?……在Oracle的任何PL/SQL语句块中所有的select语句必须要有into子句!这就是Oracle的sp不能返回结果集的原因!任何的事情都有其解决的办法,你千万不要为此而气馁.下面的是解决的例程:create or replace package pkg_test astype cur_test is ref cursor; -- 定义一个cursor的typeend pkg_test;/create or replace procedure p_test(v_cur out pkg_test.cur_test)asv_sql varchar2(100); -- beginv_sql := 'select a1,a2 from test';OPEN v_cur FOR v_sql; --exceptionwhen others then DBMS_OUTPUT.PUT_LINE('Error ---------------' || sqlcode || ' : ' || sqlerrm ); end p_test;/Java程序:……CallableStatement call = conn.prepareCall("{ call p_test(?) }");call.registerOutParameter(1, OracleTypes.CURSOR);// 注册out参数的SQL数据类型call.execute();ResultSet rs=(ResultSet)call.getObject(1);// 取得得数据结果集合while(rs.next())…… 块<<block>>问题 非常紧急!!! oraacle 行转列 数据库SUM求和后,原有的模式化没有了,即NUMBER(8,2)变为NUMBER了,小数点后两位给自动去掉,有何方法解决! Oracle数据库结构 安装后不能正常启动 在linux 9安装9i的疑问 谁有ORACLE DEVELOP6.0 的入门资料谢谢 在表中有一字段长度为Varchar2(20),但却只能输入10个中文字符!可输入20个英文字符!如何能该字段容纳20个中文字符!急急急!请大侠帮忙 监测表记录字段变化情况 DDL Trigger的问题 关于select 赋值的问题!很简单的
"天啦.Oracle的sp不能返回结果集!!!"……
在SQL Server Oracle的工作中你是否会发出这样的惊呼?……
在Oracle的任何PL/SQL语句块中所有的select语句必须要有into子句!
这就是Oracle的sp不能返回结果集的原因!
任何的事情都有其解决的办法,你千万不要为此而气馁.下面的是解决的例程:
create or replace package pkg_test
as
type cur_test is ref cursor; -- 定义一个cursor的type
end pkg_test;
/
create or replace procedure p_test
(
v_cur out pkg_test.cur_test
)
as
v_sql varchar2(100); --
begin
v_sql := 'select a1,a2 from test';
OPEN v_cur FOR v_sql; --
exception
when others then
DBMS_OUTPUT.PUT_LINE('Error ---------------' || sqlcode || ' : ' || sqlerrm );
end p_test;
/
Java程序:
……
CallableStatement call = conn.prepareCall("{ call p_test(?) }");
call.registerOutParameter(1, OracleTypes.CURSOR);// 注册out参数的SQL数据类型
call.execute();
ResultSet rs=(ResultSet)call.getObject(1);// 取得得数据结果集合
while(rs.next())
……