日期:2014-05-17  浏览次数:21084 次

存储过程怎样返回多个值?
有个表T_USER = { USER_ID,PRODUCT_ID,ACCOUNT,PASSWORD,USER_NAME,ID_NUMBER }
想写一个存储过程,通过USER_ID查询它对应的所有ACCOUNT。USER_ID不是主键,也就是说一个USER_ID可能对应许多个ACCOUNT,怎么返回这些不确定个数的ACCOUNT?
百度了半天,说是用包,但还是不太明白,麻烦哪位会的具体讲一下,最好给出个代码,非常感谢。

------解决方案--------------------
直接查询不可以么?

SQL code

select account from t_user where user_id = ?; -- ?是你查的id

------解决方案--------------------
关键看你怎么返回查询结果
用记录集、结果表 、字符串
还是多个变量
------解决方案--------------------
先创建一个包,包定义一个动态游标类型
SQL code

create or replace package common
is

type ref_csr is ref cursor;

end;

------解决方案--------------------
用引用游标类型返回select的结果集
open o_cur for
select * ....
------解决方案--------------------
可以使用光标(即你所说的游标)