sql >> Databasteknik >  >> RDS >> Mysql

varför den lagrade proceduren som anropas från sqlalchemy inte fungerar men anrop från arbetsbänken fungerar?

Jag har inte anropat lagrade processer från SQLAlchemy, men det verkar möjligt att detta kan vara inom en transaktion eftersom du använder sessionen. Kanske anropar db.session.commit() i slutet skulle hjälpa?

Om det misslyckas anropar SQLAlchemy anropar lagrade processer här. Kanske prova deras metod att använda callproc . Anpassning till ditt användningsfall, något som:

connection = db.session.connection()
try:
    cursor = connection.cursor()
    cursor.callproc("escalatelobalarm", [clientid])
    results = list(cursor.fetchall())
    cursor.close()
    connection.commit()
finally:
    connection.close()



  1. Varför får jag ett java.lang.IllegalArgumentException:bindningsvärdet vid index 1 är null i det här fallet?

  2. Varning:join() [function.join]:Ogiltiga argument skickade i C

  3. en samlad fråga med viss logisk nätning med Oracle SQL

  4. Temporal databasdesign, med en twist (live kontra utkastrader)