如何使用另一个表中的数据在Python中更新oracle表
我正在使用下面的代码如何使用另一个表中的数据在Python中更新oracle表,python,sql,oracle,Python,Sql,Oracle,我正在使用下面的代码 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) 我没有收到任何错误,但表没有得到更新 有什么问题吗?如中所述,您需要将更改作为事务提交,以便其他用户和会话可以使用这些更改: 操作Oracle数据库中的数据时(插入、更新或删除) 删除数据
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)
我没有收到任何错误,但表没有得到更新
有什么问题吗?如中所述,您需要将更改作为事务提交,以便其他用户和会话可以使用这些更改:
操作Oracle数据库中的数据时(插入、更新或删除)
删除数据),更改的或新的数据仅在
数据库会话,直到将其提交到数据库
因此,添加以下内容即可:
self.DB_conn.commit()
您是否尝试使用sqlplus、toad、sqldeveloper或任何其他oracle客户端进行更新?请验证您的程序是否已提交事务。显式的
commit()
会导致数据库的往返,从而影响性能可伸缩性。回顾,它有它的位置。