mysql存储过程另外一台mysql_mysql如何在一个存储过程中使用另外一个存储过程的结果集...

你的位置:

问答吧

-> MySQL

-> 问题详情

mysql如何在一个存储过程中使用另外一个存储过程的结果集

如题:

好像这个在mssql有办法实现,网上也找了很多资料,希望高手指教指教,

或是mysql怎么使用select 取出一个存储过程的的资源集?

作者: edewardhey

发布时间: 2007-08-24

DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`sp_1`$$

CREATE PROCEDURE `test`.`sp_1`(IN str1 int,OUT str2 varchar(1000))

BEGIN

set str2 = 0;

if str1 > 0 then

set str2 = 1;

end if;

END$$

DELIMITER ;

--------------------------------

DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`sp_2`$$

CREATE PROCEDURE `test`.`sp_2`(IN str1 int,OUT str2 int)

BEGIN

declare str3 int;

call sp_1(str1,@str2);

select @str2 into str3;

set str2 = str3;

END$$

DELIMITER ;

call sp_2(1,@str2);

select @str2;

call sp_2(-1,@str2);

select @str2;

query result(1 records)

@str2

0

query result(1 records)

@str2

1

作者: yueliangdao0608

发布时间: 2007-08-24

谢谢 yueliangdao0608 明白了~

在mssql里面能这样用,建一个临时表,然后向临时表插入数据

PHP code:DROP PROCEDUREIFEXISTS`test`//CREATE PROCEDURE test()BEGIN

SELECT 1+1ASresult;END//DROP PROCEDUREIFEXISTS`test2`//CREATE PROCEDURE test2()BEGIN

create table`temp` (...)insert`temp`exec test();//select*from`temp`;//END//像这样子,有办法在mysql里面实现么?

作者: edewardhey

发布时间: 2007-08-24

亟待解决中。。。谢谢

作者: edewardhey

发布时间: 2007-08-24

等待ing

作者: edewardhey

发布时间: 2007-08-24

QUOTE:最初由 edewardhey 发布

谢谢 yueliangdao0608 明白了~

在mssql里面能这样用,建一个临时表,然后向临时表插入数据

PHP code:DROP PROCEDUREIFEXISTS`test`//CREATE PROCEDURE test()BEGIN

SELECT 1+1ASresult;END//DROP PROCEDUREIFEXISTS`test2`//CREATE PROCEDURE test2()BEGIN

create table`temp` (...)insert`temp`exec test();//select*from`temp`;//END//像这样子,有办法在mysql里面实现么?

当然可以了。

作者: yueliangdao0608

发布时间: 2007-08-27

你不用这么麻烦的。

create temporary table temp select SELECT 1+1 ;

作者: yueliangdao0608

发布时间: 2007-08-27

我现在也只是在mysql里面使用set @var来实现我想要的功能,然后在set @var = null

其实上面的只是一个例子,当然要是真那样的话我当然会选择

create temporary table temp select SELECT 1+1 ;

但是现在就是说想知道mysql怎么能去实现 select  +  procedure 的办法来实现select查询存储过程得出的结果集~ 呵呵 不过还是要谢谢你~

作者: edewardhey

发布时间: 2007-08-27

QUOTE:最初由 edewardhey 发布

我现在也只是在mysql里面使用set @var来实现我想要的功能,然后在set @var = null

其实上面的只是一个例子,当然要是真那样的话我当然会选择

create temporary table temp select SELECT 1+1 ;

但是现在就是说想知道mysql怎么能去实现 select  +  procedure 的办法来实现select查询存储过程得出的结果集~ 呵呵 不过还是要谢谢你~

MYSQL中没有数组的概念。

如果你的结果是单一的数据的话,就像我上面写的赋值。

如果select * from ..是多行的话就用游标,不过比较慢。

作者: yueliangdao0608

发布时间: 2007-08-27

QUOTE:最初由 yueliangdao0608 发布

MYSQL中没有数组的概念。

如果你的结果是单一的数据的话,就像我上面写的赋值。

如果select * from ..是多行的话就用游标,不过比较慢。

哦 明白 非常感谢你~

作者: edewardhey

发布时间: 2007-08-27

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值