我正在通过一个使用后端的pymssql
库从SQL Server数据库下载一些数据。 cursor.execute("""<QUERY BODY>""")
的结果是sqlalchemy.engine.result.ResultProxy
对象。如何检查查询结果是否为空,以便没有任何行?
cur = ff.sql.create_engine(server=dw.address, db=dw.BI_DW,
login=":".join([os.environ["SQL_USER"],
os.environ["SQL_PASSWD"]]))
for n in range(100):
result = cur.execute("""QUERY BODY;""")
if result:
break
很遗憾,即使SQL查询未返回任何行,result
也永远不会是None
。
那么最好的检查方法是什么?
COUNT(*)
? - arrakis_sunResultProxy
的问题在于,你无法知道返回的行数,直到你通过迭代一个个获取它们,或者通过.fetchall()
方法一次性获取所有行。 - arrakis_sun