唯一约束违反了 oracle 错误。如何获取python中违规的insert语句?
Unique constraint violated oracle error. How can I get the insert statement of the violation in python?
我的代码如下所示:
sql1 = 'select column from table'
db1conn.execute(sql1)
results = db1conn.fetchall()
sql2 = 'insert into table(column) values(:1)'
db2conn.executemany(sql2,results)
有时不知为何我从 python 脚本中得到 'Unique constraint violated' oracle 错误。我希望 python 告诉我执行 executemany 时哪个插入语句失败。我怎样才能有效地做到这一点?我正在考虑使用自己的函数自己准备 sql2 语句。但这可能不是一个好主意。
查看 cx_Oracle 存储库中的批处理错误 example。这向您展示了如何找出导致问题的行以及如何使用批处理错误功能,以便 executemany() 调用不会失败,但您仍然可以找出导致问题的行以及这些问题是什么。
我的代码如下所示:
sql1 = 'select column from table'
db1conn.execute(sql1)
results = db1conn.fetchall()
sql2 = 'insert into table(column) values(:1)'
db2conn.executemany(sql2,results)
有时不知为何我从 python 脚本中得到 'Unique constraint violated' oracle 错误。我希望 python 告诉我执行 executemany 时哪个插入语句失败。我怎样才能有效地做到这一点?我正在考虑使用自己的函数自己准备 sql2 语句。但这可能不是一个好主意。
查看 cx_Oracle 存储库中的批处理错误 example。这向您展示了如何找出导致问题的行以及如何使用批处理错误功能,以便 executemany() 调用不会失败,但您仍然可以找出导致问题的行以及这些问题是什么。