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())
……
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())
……
解决方案 »
- Oracle 关于Insert语句中使用子查询的问题
- 存储过程里面几个小问题?
- 请问oracle的日志文件有哪些?如何更改存储位置?
- sql语句问题
- 现有的windows操作系统下的oracle数据库 能否移植到linux下
- 关于 Oracle中 distinct 的问题 之二
- 求一高难查询的SQL语句
- 一个简单问题,不过就是不行,解决了就给分!!!
- 看下这段SQL[到底那个表在前面???]
- 求救!to_char(add_months(to_date(p.sum_period_date,'yyyymm'),-1),'yyyymm')
- 存储过程中如何返回多条记录
- How to generate dates in one year?
其中的?是参数吗
还有在其中v_sql := 'select a1,a2 from test';
是不是可能用任意的sql语句呢
如果要用到别名可以这样实现吗select a1 in A1,a2 in A2 from ....where....group by ...union...order by ...都可以用吗
可以--只要能查询出结果的sql语句
call.registerOutParameter(1, OracleTypes.CURSOR);// 註冊out參數的SQL數據類型
call.execute();
ResultSet rs=(ResultSet)call.getObject(1);// 取得得數据結果集合
while(rs.next())
这个不就是java写数据库的存储过程吗?
不过我不是很理解这些语句能详细讲解一下吗?
在java中调用返回空值
请问我要在oracle查看结果集如何办