我想知道是否能夠在火鳥1.5返回一個SELECT
查詢中找到多於一個的行,象下面這樣:是否有可能在Firebird的存儲過程中返回多行?
| 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 ;/
假設該查詢返回多於一個的結果/行,下面的錯誤被拋出:
語句失敗,SQLCODE = -811
單中多行選擇
顯然,Firebird的引擎不允許我在一個變量中返回多個值。我正在開發一個Python軟件,我想根據程序TEST,以元組的形式獲得,例如,類似於[(1.00,1),(2.00,2),(3.00,3)]的Python。我正在使用kinterbasdb模塊來連接GDB。
有沒有辦法做到這一點?
請檢查http://stackoverflow.com/questions/34900648/how-to-execute-procedure-returning-resultset-in-firebird – Tajinder
出於好奇:你爲什麼還在使用kinterbasdb?它已被[FDB](https://pypi.python.org/pypi/fdb/)和[firebirdsql](https://pypi.python.org/pypi/firebirdsql)等驅動程序取代。 –