1. Java调用mysql存储过程 执行多条查询语句 怎么才能返回多个结果
你想返回多个结果的话,你必须把多个结果整合成一个,不然返回值不能是两个,只能是一个.
2. 该如何写存储过程,实现mysql返回多个结果,其中的结果可能为空
就跟写Java代码里有返回值的方法一样,只是把语法换成Sql里面的写法就好了
aaa: 输入参数
bbb: 输出参数,一个表对象,或者一个结果集
包
proce getMySqlDate(aaa IN varchar2,
bbb OUT tmpTable%ROWTYPE) IS
本体
proce getMySqlDate(aaa IN varchar2,
bbb OUT tmpTable%ROWTYPE)
begin
--查询数据
CURSOR curCc is
select a,b from tab1;
type typeCurCc of table curCc%ROWTYPE;
typeCurCc tabCurCc; -- 定义游标类型
--打开游标把查询处理的数据,赋值到bbb的输出参数就行了。
open 游标
....
bbb.a = 游标.a;
close 游标;
--存储过程终了
END getMysql;
3. php如何获取mysql存储过程的多个结果集存储过程如下如何获取两次Select的结果
假设存储过程的名字是p_test()
createPROCEDURE`p_test`()
BEGIN
select3as'end';
selectNOW()as'time';
END
php代码
<?php
/**
*mysqliconnect
*/
$mysqli_link=mysqli_connect($db_host,$db_user,$db_password,$db_database,$db_port);
if($mysqli_link){
echo'dbconnectok'.PHP_EOL;
}else{
die('dbconnecterror');
}
/**
*mysqliquery
*/
$sql_select=<<<EOF
callp_test();
EOF;
//Executemultiquery
if(mysqli_multi_query($mysqli_link,$sql_select)){
do{
//Storefirstresultset
if($result=mysqli_store_result($mysqli_link)){
while($row=mysqli_fetch_row($result)){
var_mp($row);
echoPHP_EOL;
}
mysqli_free_result($mysqli_link);
}
echo'=========='.PHP_EOL;
}while(mysqli_next_result($mysqli_link));
}
4. mysql 存储过程中有多个select语句,造成返回了多个结果集
如果对select 返回的结果行都需要处理,使用游标。
如果只想取得返回多行中的一行,使用limit。
5. mysql存储过程结果集
通过group by就可以一次性返回结果集了
selectFROM_UNIXTIME(date,'%m.%d'),count(1),sum(money)fromtestswheredate>='startTimes'anddate<='endTimes'groupbyFROM_UNIXTIME(date,'%m.%d')
你拿这个去执行
select FROM_UNIXTIME(date,'%m.%d'),count(1),sum(money) from tests where date>=1469980800 and date<=1470585599 group by FROM_UNIXTIME(date,'%m.%d');
这个返回的结果就是8月1号~8月7号每天的数据量及金额
6. 求助大神 mybatis 使用Mysql 的存储过程 怎么返回多个结果集
如何通过MyBatis获取mysql存储过程返回的不确定个数的多个结果集 如果对select 返回的结果行都需要处理,使用游标。 如果只想取得返回多行中的一行,使用limit。