Mysql
 sql >> Base de données >  >> RDS >> Mysql

pourquoi la procédure stockée appelée depuis sqlalchemy ne fonctionne pas mais que l'appel depuis workbench fonctionne?

Je n'ai pas appelé les procédures stockées de SQLAlchemy, mais il semble possible que cela puisse être dans une transaction car vous utilisez la session. Peut-être en appelant db.session.commit() à la fin aiderait ?

Si cela échoue, SQLAlchemy appelle appelant les procédures stockées ici. Essayez peut-être leur méthode d'utilisation de callproc . Adaptation à votre cas d'utilisation, quelque chose comme :

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