От документацията на pyodbc
За да извикате съхранена процедура точно сега, предайте извикването на метода execute, като използвате или формат, който вашата база данни разпознава, или използвайки ODBC формат за избягване на повикване. (След това ODBC драйверът ще преформатира обаждането, за да съответства на дадената база данни.)
За SQL Server бихте използвали нещо подобно:
# SQL Server format
cursor.execute("exec sp_dosomething(123, 'abc')")
# ODBC format
cursor.execute("{call sp_dosomething(123, 'abc')}")
Така че да извика вашата процедура
id_ = 'test'
pw = '12345'
depart = 'none'
class_ = 'GM'
name = 'name'
birthday = 'None'
grade = 3
subgrade = 2
sql = 'exec [my_database].[dbo].[my_table](?, ?, ?, ?, ?, ?, ?, ?)'
values = (id_, pw, depart, class_, name, birthday, grade, subgrade)
cursor.execute(sql, (values))