更新cx_oracle中的表时获取DatabaseError:ORA-00933:SQL命令未正确结束

时间:2019-10-22 07:31:28

标签: python-3.7 cx-oracle

同时使用python3.7更新cx_oracle中的表 错误如下。

  

DatabaseError:ORA-00933:SQL命令未正确结束

x=datetime.now()
cur.execute("update HMA_UTILITIES.REFRESH_DATA set REC_UPDATE_DATE="+str(x)+"STATUS="+"FINISHED"+","+"where JOB_ID="+str(id)+";")

1 个答案:

答案 0 :(得分:0)

结尾的“;”不应包含在您的声明中。另外,您应该使用绑定变量,而不是SQL中嵌入的文字值。像这样:

x = datetime.now()
cur.execute("""
        update HMA_UTILITIES.REFRESH_DATA set 
            REC_UPDATE_DATE = :rec_update_date,
            STATUS = 'FINISHED'
        where JOB_ID = :job_id""",
        rec_update_date=x,
        job_id=id)