python - 如何使用 python 和 cx_Oracle 更新 oracle 表中的列并在每次记录更新后提交

标签 python oracle oracle-sqldeveloper cx-oracle

在这里,我想批量更新记录。就像我的程序应该将初始 50k 记录更新为 null 并提交,然后更新每个记录。再次,它应该选择下一个 50k 记录并执行相同的操作。

>>> import cx_Oracle
>>> con = cx_Oracle.connect('ods/odss@dwdb3.test.com/DWdb3')
>>> cur = con.cursor()
>>> statement = ('UPDATE dumy_uvcredit set CCNUMBEREXT=null')
>>> cur.execute(statement)
>>> con.commit()

最佳答案

您是否可以使用以下方法

alter table dumy_uvcredit add  new_CCNUMBEREXT <the datatype of CCNUMBEREXT>;
alter table dumy_uvcredit rename column CCNUMBEREXT to old_CCNUMBEREXT;
alter table dumy_uvcredit rename column new_CCNUMBEREXT to CCNUMBEREXT;
alter table dumy_uvcredit SET UNUSED (old_CCNUMBEREXT);

dbms_redefinition 包可用于删除未使用的列,而不会干扰正在进行的操作

关于python - 如何使用 python 和 cx_Oracle 更新 oracle 表中的列并在每次记录更新后提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52763634/

相关文章:

python - 四舍五入到最接近的 500,Python

oracle - PLS-00201 : identifier 'TYPE' must be declared

java - 使用 Hibernate 和 Oracle 批量插入不记录哪个实体导致 ConstraintViolationException

java - Oracle DB 查询在 sqlDev 中运行,但不在 Java 程序中运行

python - 无法运行谷歌云 "ValueError: Authorized user info was not..."

python - 在 Python 中验证名称的最佳方法

python - virtualenv 没有匹配的分布

oracle 程序与 case 取决于参数

sql - 使用 Oracle SQL 连接同一列中的 2 个值

oracle - 为 Oracle 存储过程依赖关系图生成 DDL