sql >> Base de Datos >  >> RDS >> Sqlserver

Uso de procedimientos almacenados de SQL Server desde Python (pyodbc)

De la documentación de pyodbc

Para llamar a un procedimiento almacenado ahora mismo, pase la llamada al método de ejecución usando un formato que su base de datos reconozca o usando el formato de escape de llamada ODBC. (El controlador ODBC reformateará la llamada para que coincida con la base de datos proporcionada).

Para SQL Server, usaría algo como esto:

# SQL Server format
cursor.execute("exec sp_dosomething(123, 'abc')")

# ODBC format
cursor.execute("{call sp_dosomething(123, 'abc')}")

Así que para llamar a su procedimiento

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))