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

Brug af SQL Server-lagrede procedurer fra Python (pyodbc)

Fra pyodbc-dokumentationen

For at kalde en lagret procedure lige nu skal du videregive opkaldet til execute-metoden ved at bruge enten et format, din database genkender, eller ved at bruge ODBC call escape-formatet. (ODBC-driveren vil derefter omformatere opkaldet, så du matcher den givne database.)

Til SQL Server ville du bruge noget som dette:

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

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

Så for at kalde din procedure

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. Sådan forvandler du et json-array til rækker i postgres

  2. Hvorfor (og hvordan) opdele kolonne ved hjælp af master..spt_values?

  3. SQL Server 2005 Pivot på ukendt antal kolonner

  4. Sådan uploades billeder til MySQL-databasen ved hjælp af PHP-kode