SQL Alchemy ResultProxy.rowcount sollte nicht Null sein
Weiß jemand, wie man die Zeilenzahl von einem SQL Alchemy-Abfrage ResultProxy-Objekt erhält, ohne die Ergebnismenge zu durchlaufen? Das ResultProxy.rowcount Attribut zeigt 0, ich würde erwarten, dass es einen Wert von 2 hat. Für Aktualisierungen zeigt es die Anzahl der betroffenen Zeilen an, was ich erwarten würde.
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine(
'oracle+cx_oracle://user:pass@host:port/database'
)
session = sessionmaker(
bind = engine
, autocommit = False
, autoflush = False
)()
sql_text = u"""
SELECT 1 AS Val FROM dual UNION ALL
SELECT 2 AS Val FROM dual
"""
results = session.execute(sql_text)
print '%s rows returned by query...\n' % results.rowcount
print results.keys()
for i in results:
print repr(i)
Ausgabe:
0 rows returned by query...
[u'val']
(1,)
(2,)