【问题标题】:How to update oracle table in Python using data from another table如何使用来自另一个表的数据在 Python 中更新 oracle 表
【发布时间】:2020-01-02 21:33:50
【问题描述】:

我正在使用下面的代码

SQL = 'UPDATE TBL1 T1 SET T1.COL1 = (SELECT T2.COL1 FROM TBL2 T2 WHERE T1.ID = T2.ID)'
tmp_cursor=self.DB_conn.cursor()
tmp_cursor.execute(SQL)

我没有收到任何错误,但表格没有更新。

有什么建议吗?

【问题讨论】:

  • 您是否尝试过使用 sqlplus、toad、sqldeveloper 或任何其他 oracle 客户端进行更新?
  • 验证你的程序是否已经提交了事务。

标签: python sql oracle


【解决方案1】:

正如documentation 中所指出的,您需要将更改作为事务提交,以便其他用户和会话可以使用它们:

当您在 Oracle 数据库中操作数据(插入、更新或 删除数据),更改或新数据仅在您的 数据库会话,直到它被提交到数据库。

所以添加以下内容即可:

self.DB_conn.commit()

【讨论】:

  • 显式 commit() 会导致到数据库的往返,这会影响性能可伸缩性。查看doc on using autocommit mode,它有它的位置。
猜你喜欢
  • 1970-01-01
  • 2018-04-23
  • 2012-04-07
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 2011-10-25
  • 1970-01-01
  • 2012-06-03
相关资源
最近更新 更多