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.