Z dokumentace pyodbc
Chcete-li volat uloženou proceduru právě teď, předejte volání metodě provádění buď pomocí formátu, který vaše databáze rozpozná, nebo pomocí formátu escape volání ODBC. (Ovladač ODBC pak přeformátuje volání, aby odpovídalo dané databázi.)
Pro SQL Server byste použili něco takového:
# SQL Server format
cursor.execute("exec sp_dosomething(123, 'abc')")
# ODBC format
cursor.execute("{call sp_dosomething(123, 'abc')}")
Takže zavolat vaši proceduru
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))