Значения привязки ошибок для команды Oracle SQL в Python

#python #oracle #binding #cx-oracle

#python #Oracle #привязка #cx-oracle

Вопрос:

Я получаю сообщение об ошибке при выполнении приведенного ниже, и, несмотря на попытки понять, что я делаю неправильно, я не могу разобраться в этом. Согласитесь, что это, вероятно, действительно прямолинейно и синтаксическая ошибка?

 ORA-00933: SQL command not properly ended

aValue = 'all_tables'
sql = "select * from sometable = :myField"
cursor.execute(sql, myField = aValue)
 

мое намерение состоит в том, чтобы впоследствии создать один элемент из списка в операторе цикла for

Спасибо

Комментарии:

1. Я думаю, что ваша команда, возможно, неполная, должна быть select * from sometable where myField= :myField

2. Я считаю, что синтаксис ставит условие where для атрибута в sometable, где, поскольку я пытаюсь параметризовать оператор from, чтобы его можно было изменять из цикла for

3. пожалуйста, попробуйте выполнить собственный запрос к базе данных напрямую select * from sometable = 'all_tables' , чтобы имитировать эту ошибку, я считаю, что метод execute не ставит where условие, он использует собственный запрос

4. попытка select banner as "oracle version" from v$version = 'teste' на этом сайте компилятора в Интернете у меня такая же ошибка rextester.com/l/oracle_online_compiler

Ответ №1:

Похоже, что на это был дан ответ в комментарии на следующем сайте

https://www.toolbox.com/tech/oracle/question/using-bind-variables-in-from-clause-042108/

Короче говоря, похоже, что я получаю ошибку, потому что я пытаюсь использовать переменную привязки в предложении from, что невозможно