2017-07-18 25 views
0

對於SQLite我想補充一個函數在Python源碼(如解釋here添加功能與多個返回值在Python

我的函數返回多個值。在python中,我可以通過索引訪問不同的返回值(使用[])。

但是,似乎索引在SQLite中不起作用。換句話說,下面的SELECT語句將有一個錯誤:

SELECT my_function(table1.column1)[0] FROM table1; 

sqlite3.OperationalError: user-defined function raised exception

有什麼辦法來訪問不同的返回值在SQLite的?

+0

在'fetchall()'而不是SELECT查詢中應用您的索引 – roganjosh

+0

@roganjosh感謝您的回覆。 那麼,我想創建一個視圖並使用這個函數。所以,我需要一些如何在SELECT查詢中應用索引。 – Shabnam

+0

將您的實際代碼和回溯作爲對問題的修改將會很有幫助。無法確定原因是什麼。 – roganjosh

回答

0

從函數返回多個值的唯一方法是使用table-valued function,這需要創建一個虛擬表模塊,而這僅僅是默認的Python SQLite驅動程序所無法實現的。

還有其他Python模塊允許這樣做,例如sqlite-vtfunc