sql >> Base de Datos >  >> RDS >> Mysql

MySQL Stored Procedures, Pandas y Use multi=True al ejecutar varias declaraciones

Esperemos que esto sea de alguna ayuda. Usando algunos indicadores de conceptos de aquí , y un poco de prueba / error, pude hacer que esto funcionara usando mysql.connector y pandas .

# CONNECT TO DB AND GET CURSOR OBJECT
conn = <do db connecty stuff>
cur = conn.cursor()

# CALL THE STORED PROCEDURE
cur.callproc('stored_proc_name', ['my', 'usp', 'parameters'])

# EXTRACT RESULTS FROM CURSOR
for i in cur.stored_results(): results = i.fetchall()

# LOAD INTO A DATAFRAME
df = pd.DataFrame(results, columns=['my', 'column', 'headers'])

Esto funcionó perfectamente para mí... Espero que también funcione para ti.