sql >> Databasteknik >  >> RDS >> Sqlserver

Använda SQL Server lagrade procedurer från Python (pyodbc)

Från pyodbc-dokumentationen

För att anropa en lagrad procedur just nu, skicka anropet till exekveringsmetoden med antingen ett format som din databas känner igen eller med ODBC-anrops-escape-formatet. (ODBC-drivrutinen formaterar sedan om anropet så att du matchar den givna databasen.)

För SQL Server skulle du använda något sånt här:

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

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

Så för att ringa din procedur

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


  1. Hur man korrekt hanterar datum i frågebegränsningar

  2. MySQL vs PostgreSQL för webbapplikationer

  3. SQL Server-markörtyper - Vad är skillnaden mellan LOKAL OCH GLOBAL markör | SQL Server Tutorial / TSQL Tutorial

  4. Hur man skapar ett navigeringsformulär i Microsoft Access