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

问题描述 投票:0回答:1

[使用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)+";")
python-3.7 cx-oracle
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.