我在此连接中创建一个#Temp表,然后尝试将其转换为用户定义的表类型并将其传递给存储过程。这在Microsoft SQL Server Management Studio中运行良好,但我无法使用pyodbc在python中使用它。
SET NOCOUNT ON;
USE TestDB
DECLARE @Temp as dbo.TempType;
INSERT INTO @Temp SELECT * FROM #Temp;
SELECT * FROM @Temp;
(在实际代码中,最后的select语句将是存储过程,但在测试中我试图让它工作)。试图对游标进行fetchall返回:
Traceback (most recent call last):
File "C:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2883, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-237-dfc0750240b3>", line 1, in <module>
dt = cur.fetchall()
ProgrammingError: No results. Previous SQL was not a query.
在同一个连接中,我可以SELECT * FROM #Temp就好了 - 但转换为表格类型似乎不允许我选择。有什么想法吗?
答案 0 :(得分:1)
不确定这是否有帮助,但它在使用iPython笔记本时解决了我的问题,而 pyodbc 在 #temp 表中解决了我的问题:
https://graph.facebook.com/v2.4/{page_id}/fields=likes
这里的技巧是将提交到#temp 查询,然后针对它执行工作。