Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Utilizzo delle stored procedure di SQL Server da Python (pyodbc)

Dalla documentazione di pyodbc

Per chiamare subito una stored procedure, passare la chiamata al metodo execute utilizzando un formato riconosciuto dal database o utilizzando il formato di escape della chiamata ODBC. (Il driver ODBC riformatterà quindi la chiamata in modo che corrisponda al database specificato.)

Per SQL Server useresti qualcosa del genere:

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

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

Quindi chiama la tua procedura

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