Oracle 存储过程中返回值是表类型java中选什么类型?

1、代码:

Create Or Replace Procedure sss(aaa Out teachera%ROWTYPE) Is
TYPE t_name_table_typeasdf IS TABLE OF teachera%ROWTYPE INDEX BY BINARY_INTEGER;
student_index_table t_name_table_typeasdf;
BEGIN
SELECT * BULK COLLECT INTO student_index_table FROM teachera;
END;
2、问题:

我在java中使用
CallableStatement cs = con.prepareCall("{call sss(?)}");
cs.registerOutParameter(1, OracleTypes.?);
OracleTypes.后面是什么类型?

还是只能返回游标和单值类型
3、如果能回答OracleTypes.后面的所以类型的作用。我非常感谢你。
4、注意。问什么回答什么,非常感谢您。。。!
如果能回答OracleTypes.后面的部分类型的作用也可以。我非常感谢你。

第1个回答  2013-09-30
cs.registerOutParameter(1,OracleTypes.CURSOR);
将结果集取出来的话就用

//取的结果集的方式一:
rs = ((OracleCallableStatement)stmt).getCursor(3);
//取的结果集的方式二:
// rs = (ResultSet) stmt.getObject(3);

就可以了。。。
第2个回答  2013-09-30
JDBC 驱动程序不支持将 CURSOR、SQLVARIANT、TABLE 和 TIMESTAMP SQL Server 数据类型用作 OUT 参数。

网址你参考下:http://msdn.microsoft.com/zh-cn/library/ms378108(SQL.90).aspx本回答被提问者采纳
相似回答