Kann jemand die Zeilenanzahl von einem SQL-Alchemy-Abfrage-ResultProxy-Objekt erhalten, ohne die Ergebnismenge durchzulaufen? Das ResultProxy.rowcount-Attribut zeigt 0, ich würde erwarten, dass es einen Wert von 2 hat. Für Updates zeigt es die Anzahl der betroffenen Zeilen an, was ich erwarten würde.SQL-Alchemie ResultProxy.rowcount sollte nicht 0 sein
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
engine = create_engine(
'oracle+cx_oracle://user:[email protected]: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)
Ausgang:
0 rows returned by query...
[u'val']
(1,)
(2,)