I am trying to do an upsert in the SQL Server table using PYODBC. Please find the code below:
sql_insert = """
UPDATE qch_FullCaseList
SET
[DecisionDate]=?,
[CaseName]=?,
[FileNum]=?,
[CourtLocation]=?,
[CourtName]=?,
[CourtAbbrv]=?,
[Judge]=?,
[CaseLength]=?,
[CourtCite]=?,
[ParallelCite]=?,
[CitedCount]=?,
[UCN]=?
WHERE [ReporterCite]=?
IF @@ROWCOUNT = 0
INSERT INTO qch_FullCaseList
(
[ReporterCite],
[DecisionDate],
[CaseName],
[FileNum],
[CourtLocation],
[CourtName],
[CourtAbbrv],
[Judge],
[CaseLength],
[CourtCite],
[ParallelCite],
[CitedCount],
[UCN]
)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
"""
for index,row in df.iterrows():
cursor.executemany(sql_insert,records)
Here is the error I am getting.
Traceback (most recent call last):
File "C:\Users\saxenak\Music\Scripts\PyOdbcUpdateInsert.py", line 75, in <module>
cursor.executemany(sql_insert,records)
pyodbc.ProgrammingError: ('The SQL contains 26 parameter markers, but 13 parameters were supplied', 'HY000')
I don't intend to use sqlalchemy. Thanks