sql >> Database >  >> RDS >> Mysql

waarom werkt de opgeslagen procedure die wordt aangeroepen vanuit sqlalchemy niet, maar werkt het aanroepen vanuit de workbench wel?

Ik heb geen opgeslagen processen van SQLAlchemy aangeroepen, maar het lijkt mogelijk dat dit binnen een transactie kan zijn omdat je de sessie gebruikt. Misschien bellen met db.session.commit() aan het einde zou helpen?

Als dat niet lukt, roept SQLAlchemy opgeslagen processen aan hier. Probeer misschien hun methode om callproc te gebruiken . Aanpassen aan uw gebruikssituatie, zoiets als:

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



  1. MySQL - Selecteer de laatst ingevoegde rij op de gemakkelijkste manier

  2. Dynamisch EXECUTE-uitvoer weergeven binnen pl/sql van sqlplus

  3. Vind max en tweede max salaris voor een werknemerstabel MySQL

  4. AI gebruiken voor SQL Tuning voor een echt geautomatiseerd proces