pyodbc / ceodbc中的表变量创建

时间:2012-12-19 23:54:18

标签: python sql tsql pyodbc

在pyodbc和ceodbc中,声明一个表变量,向其中插入一些数据,然后从中进行选择似乎不起作用。

cursor.execute("""
DECLARE @LOG TABLE 
    (ID varchar(10))

INSERT INTO @LOG (ID)

SELECT TOP 10 ID
FROM NAME

SELECT ID
FROM @LOG
""")

------------------------------------------------------------
Traceback (most recent call last):
  File "<ipython console>", line 1, in <module>
ProgrammingError: No results.  Previous SQL was not a query.

我想知道这是否是一个真正的问题,或者有一个技巧可以让它发挥作用。 SELECT语句总是在我的设置中正常工作。

1 个答案:

答案 0 :(得分:0)

D'哦。 :oP处

cursor.execute("""

SELECT ID
FROM 

(SELECT TOP 10 ID
FROM NAME)

LOG

""")

In [49]: cursor.fetchall()
Out[49]: 
[('1', ),
 ('10', ),
 ('100000', ),
 ('100001', ),
 ('100002', ),
 ('100003', ),
 ('100004', ),
 ('100005', ),
 ('100006', ),
 ('100007', )]