当前位置:首页 » 服务存储 » mysql存储过程多个结果集
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

mysql存储过程多个结果集

发布时间: 2022-09-17 22:38:16

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。