无法获取列名pymssql
从存储过程的第一个表后回我在SQL Server过程返回多个表:无法获取列名pymssql
create procedure newtest as
begin
select 1 as a
select 2 as b
end
在蟒蛇,cursor.description中只返回第一列名:一
我想获取每个表中的每个列名。
我该怎么做?
这是我的代码:
cur.execute(com) num_tables=0
while True:
print(cur.description)
ret=cur.fetchall()
if len(ret)>0:
ret_list.append(ret)
num_tables+=1
print(ret)
else:
break
回答:
如果该命令将返回多个表(即多个结果集)。您可以使用Cursor.nextset()从一组切换到下一组。
喜欢的东西:
num_tables = 0 while True:
print(cur.description)
# all lines of the current set
ret = cur.fetchall()
if len(ret) > 0:
ret_list.append(ret)
num_tables += 1
print(ret)
# check and fetch the next set
if not cur.nextset():
break
的结果集不会被强迫具有相同的列数。例如有:
create procedure newtest as
begin
select 1 as a
select 2 as b, 3 as c
end
结果是:
(('a', <class 'int'>, None, 10, 10, 0, False),) [(1,)]
(('b', <class 'int'>, None, 10, 10, 0, False), ('c', <class 'int'>, None, 10, 10, 0, False))
[(2, 3)]
以上是 无法获取列名pymssql 的全部内容, 来源链接: utcz.com/qa/264806.html