sql >> Databáze >  >> RDS >> Mysql

proč uložená procedura volaná z sqlalchemy nefunguje, ale volání z workbenche funguje?

Nevolal jsem uložené procesy z SQLAlchemy, ale zdá se možné, že by to mohlo být v rámci transakce, protože používáte relaci. Možná volání db.session.commit() nakonec by to pomohlo?

Pokud to selže, SQLAlchemy zavolá volání uložených procesů tady. Možná zkuste jejich metodu pomocí callproc . Přizpůsobení vašemu případu použití, něco jako:

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



  1. PLS-00172:Při nastavování velké hodnoty řetězce na CLOB je vyvolána příliš dlouhá chyba řetězcového literálu

  2. implementace UPDATE na SELECT v Postgresu

  3. Získejte čas a čas pomocí T-SQL?

  4. JPA CriteriaBuilder jak vytvořit join + like dotaz