Here’s my code:
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()
If I remove the conn.commit(), the table isn’t updated. But for select statements, I don’t need that conn.commit(). I’m curious why?
The DB-API spec requires that connecting to the database begins a new transaction, by default. You must
committo confirm any changes you make, orrollbackto discard them.Pure
SELECTstatements, since they never make any changes to the database, don’t have to have their changes committed.