我有这样的事情:
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本身的单元测试添加了另一层。