sybase-过程返回先前的结果集

时间:2018-07-03 13:47:22

标签: perl stored-procedures sybase-ase

我有2个选择的程序,看起来像这样...

PROCEDURE getRec
  @pId INTEGER
AS
BEGIN
  SELECT 'anything'

  SELECT id, name
  FROM my_table
  WHERE id = @pId
END

当我的perl脚本调用此存储过程时,如果my_table具有匹配的记录,则会显示该记录。但是,如果传入的ID不匹配,则存储过程将返回'anything'

如果第二个选择中没有行,那么我只希望该过程返回一个空结果集。我该如何实现?

1 个答案:

答案 0 :(得分:0)

每个SELECT都会产生一个结果集(SELECT @var = ...除外)

因此将首先收到“任何内容”结果集

之后,您将收到空结果集。

您需要获取perl代码以获取第一个结果集中的所有行,然后获取下一个结果集并获取该结果集中的所有行。

获取下一个结果集的功能在很大程度上取决于您所使用的perl库。