Sybase - 过程返回上一个结果集



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

PROCEDURE getRec
@pId INTEGER
AS
BEGIN
SELECT 'anything'
SELECT id, name
FROM my_table
WHERE id = @pId
END

当我的perl脚本调用这个存储过程时,如果my_table有匹配的记录,则会显示它。但是,如果传入的 ID 没有匹配项,则存储过程返回'anything'

如果第二个选择中没有行,那么我只希望该过程返回一个空的结果集。我怎样才能做到这一点?

每个 SELECT都会生成一个结果集(SELECT @var = ...

所以将首先接收"任何"结果集

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

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

获取下一个结果集的函数将在很大程度上取决于您正在使用的perl库。

相关内容

最新更新