MySQL中的MySQL存储过程结果集

时间:2016-11-15 14:40:58

标签: mysql stored-procedures

我有这样的事情:

DELIMITER $$

DROP PROCEDURE IF EXISTS test$$
CREATE PROCEDURE test(
    IN a_in varchar(3), 
    IN b_in varchar(3))
begin
    select a_in as a, b_in as b;
end $$
DELIMITER ;

CALL test('1', '2');

我不想修改SP并将其写入临时表。我正在尝试为SP编写一些单元测试。如何在调用SP后查看结果集?我想查看结果集并进行比较以确保它返回我期望的结果。像这样:

set  @var1, @var = (CALL test('1', '2');)
if @var1 <> 1 then
   select 'Error, @var1 should be 1';

我意识到我需要将其包装在SP中。我也意识到SP可以返回多个结果集,我需要获得第一个结果集,并可能将其分配给游标。有没有办法在MySQL中这样做?否则,我需要用不同的语言(即Python,PHP等)来做这件事,但是,这为SP本身的单元测试添加了另一层。

0 个答案:

没有答案