小编Ren*_*ino的帖子

是否可以在Firebird的存储过程中返回多行?

我想知道是否可以返回SELECTFirebird 1.5 中的查询中找到的多行,如下所示:

| FIELD1 | FIELD 2 |
--------------------
| 1.00   | 1       |
| 2.00   | 2       |
| 3.00   | 3       |

SET TERM /;

CREATE OR ALTER PROCEDURE TEST
RETURNS (VARIABLE1 DOUBLE PRECISION, VARIABLE2 INTEGER)
AS
BEGIN
  SELECT FIELD1, FIELD2 FROM TABLE INTO :VARIABLE1, :VARIABLE2;
END/

EXECUTE PROCEDURE TEST/

SET TERM ;/
Run Code Online (Sandbox Code Playgroud)

假设查询返回多个结果/行,则抛出以下错误:

声明失败,SQLCODE = -811

单例选择多行

显然,Firebird的引擎不允许我在变量中返回多个值.我正在开发一个我想要的Python软件,作为一个元组,例如,像[(1.00,1),(2.00,2),(3.00,3)]这样的东西,基于TEST程序.我正在使用kinterbasdb模块与GDB连接.

有没有办法做到这一点?

sql firebird stored-procedures

6
推荐指数
2
解决办法
2503
查看次数

标签 统计

firebird ×1

sql ×1

stored-procedures ×1