同时使用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)+";")
答案 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)