存储过程这样写执行后能返回一个数组结果集呢? 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;会是什么样的结果? 展开
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;会是什么样的结果? 展开
2个回答
展开全部
在包里定义一个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");
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");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询