Нарушено уникальное ограничение oracle ошибка. Как я могу получить заявление о нарушении в python? - PullRequest
1 голос
/ 10 июля 2020

У меня есть код, который выглядит следующим образом:

sql1 = 'select column from table'
db1conn.execute(sql1) 
results = db1conn.fetchall()

sql2 = 'insert into table(column) values(:1)' 
db2conn.executemany(sql2,results)

иногда по неизвестной причине я получаю ошибку «Уникальное ограничение нарушено» oracle из сценария python. Я хотел бы python сказать мне, какая инструкция вставки не удалась, когда я выполнил выполнение. как я могу сделать это эффективно? Я думал сам подготовить инструкцию sql2, используя свою собственную функцию. но это, вероятно, не лучшая идея.

1 Ответ

1 голос
/ 11 июля 2020

Взгляните на пакетные ошибки пример из репозитория cx_ Oracle. Это показывает вам, как определить, какая строка вызвала проблему, и как использовать функцию пакетных ошибок, чтобы вызов executemany () не завершился ошибкой, но вы все равно можете выяснить, какие строки вызвали проблемы и каковы были эти проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...