при обновлении таблицы в cx_oracle получение DatabaseError: ORA-00933: команда SQL не завершена должным образом - PullRequest
0 голосов
/ 22 октября 2019

при обновлении таблицы в cx_oracle с использованием python3.7, получая ошибку, как показано ниже.

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 голосов
/ 23 октября 2019

Трейлинг ";"не должны быть включены в ваше заявление. Кроме того, вы должны использовать переменные связывания вместо литеральных значений, встроенных в ваш 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)
...