#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, что невозможно