Skip to content
Advertisement

CALL multiple procedures with python

I have a linux server and I would like to run a python script every day to run mysql procedures but I do not know how to run multiple procedures and put a condition if there is an error that it sends me an email with the description of the error. Here is my script with only one procedure:

#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","user","password","bddname" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("CALL proc_commande_clts_detail7();")

# Fetch a single row using fetchone() method.
data = cursor.fetchone()
print "Database version : %s " % data

# disconnect from server
db.close()

Thank you for your help.

Advertisement

Answer

You can use callproc method to execute MySQL procedures

for proc_name in proc_name_list:
    try:
        result_args = cursor.callproc(proc_name, args=())
    except Exception as e:
        send_mail(str(e))

If you want to call multiple procedures, you can put callproc in some kind of loop and use try…catch for error handling.

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement