这是我的代码:
import cx_Oracle
conn = cx_Oracle.connect(usr, pwd, url)
cursor = conn.cursor()
cursor.execute("UPDATE SO SET STATUS='PE' WHERE ID='100'")
conn.commit()
Run Code Online (Sandbox Code Playgroud)
如果我删除conn.commit(),表不会更新.但对于精选语句,我不需要conn.commit().我很好奇为什么?
其他人已经解释了为什么在 SELECT 语句上不需要提交。我只是想指出您可以利用Connection对象的autocommit属性来避免自己手动执行提交:
import cx_Oracle
with cx_Oracle.connect(usr, pwd, url) as conn:
conn.autocommit = True
cursor = conn.cursor()
cursor.execute("UPDATE SO SET STATUS='PE' WHERE ID='100'")
cursor.close()
Run Code Online (Sandbox Code Playgroud)
当同一连接中有多个 INSERT、UPDATE 和 DELETE 语句时,这尤其有用。
| 归档时间: |
|
| 查看次数: |
36999 次 |
| 最近记录: |