存储过程这样写执行后能返回一个数组结果集呢? 5

delimiter//createres()beginSET@SELECT_STRING=concat("select*fromstudent");PREPAREsele... delimiter //
create res()
begin
SET @SELECT_STRING=concat("select * from student");

PREPARE select_stmt FROM @SELECT_STRING;
EXECUTE select_stmt;
DEALLOCATE PREPARE select_stmt;
end
//
concat得到的是一个字符串,经过后面代码的处理怎么就能得到一个以字段名作为索引的二维数组呢?
$results = $this -> sqlhelper -> run_sp_query_array('res', $retArr, $this -> fookii_ps);
res是上面的存储过程名,$retArr是存储过程中的数组参数,$this->fookii_ps是数据库连接资源符,print_r($results)后得到的是以字段名作为索引的二维数组。。我想问的是这句话是不是不仅是调用存储过程,还有没有别的作用。如果在mysql中call res;会是什么样的结果?
展开
 我来答
寒默忧伤
2012-07-09 · TA获得超过550个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:430万
展开全部
在包里定义一个Type,类似于下面的

Type Public_Rec IS Record( --Pubilc_Rec类型名字,你可以随意
id XXX.id%TYPE, -- id相当于map里的key,类型与XXX表里的id字段一致
name XXX.name%TYPE
);
你可以根据自己的需要丰满上面的语句。
使用的时候,定义变量
rec_ Public_Rec;
select id, name into rec_ from XXX;
@SELECT_STRING=concat("select * into rec_ from student");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郑州阳光男科医院
2012-07-09
知道答主
回答量:37
采纳率:0%
帮助的人:31.2万
展开全部
没看懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式