У меня есть таблица, которая по какой-то причине имеет некоторые ошибки после запуска процесса. Каждая строка должна быть отдельным отчетом. Я пытаюсь сделать это с помощью взгляда на объект курсора после выполнения метода .fetchall, и это работает несколько. Но он вставляет только один ряд.
import pypyodbc
conn_str = ('Driver={SQL Server};Server=*****************;Trusted_Connection=yes;')
con = pypyodbc.connect(conn_str)
cur = con.cursor()
cur.execute("SELECT DISTINCT TDate, Report, Records, Status from Elig_Own.DST_Report_Status_Test")
rows = cur.fetchall()
for row in rows:
TDate = row[0] # first item in the tuple iterable
Report = row[1] # Second
Records = row[2] # third
Status = row[3] # fourth
cur.execute("truncate table Elig_own.DST_Report_Status_Test")
cur.execute('''INSERT into Elig_Own.DST_Report_Status_Test (TDate, Report, Records, Status)
VALUES (?, ?, ?, ?)''',(TDate, Report, Records, Status))
con.commit()
con.close()
Если я просто напечатаю «строку» в цикле for, я получу список кортежей со всеми полями и значениями, которые мне нужны для моей таблицы, но я не уверен, как передать их обратно впустая таблица, все строки, а не только одна. Почему я получаю только один?