Конференция "Базы" » Параметры в Oracle, ошибка ORA-01747 [D7]
 
  • 12 © (10.08.10 15:05) [0]
    После ExecSQL, вываливается ошибка
          EOraError
          ORA-01747: invalid user.table.column, table.column, or column specification

    При этом строка sql.text такая:
    Update SUBSCRIBER set :Fld = :Value where ID_SUBSCRIBER = :ID_SUBSCRIBER

    параметры такие
    Fld=NAME_SUBSCR
    Value='ЗАО XYZ'
    ID_SUBSCRIBER=8

    Если я копирую это в PL/SQL developer, заменяю все :XX на соотв. параметры из списка и жму F8 - обновляется таблица  нормально.

    Может, нельзя параметризовать поля? (:fld)
  • Palladin © (10.08.10 15:20) [1]
    параметры не могут выступать в качестве имени поля... и оракл тут ни при чем...
  • 12 © (10.08.10 15:28) [2]
    понял
    блин, неудобно
  • Игорь Шевченко © (10.08.10 16:05) [3]

    > блин, неудобно


    удобно. подумай, почему.
    если хочется странного - EXECUTE IMMEDIATE ... USING
  • 12 © (13.08.10 08:36) [4]

    > если хочется странного - EXECUTE IMMEDIATE ... USING

    нет пожалуй, лучше логику переделать


    > удобно. подумай, почему.

    подумал. Не понял.
  • 12 © (13.08.10 08:37) [5]

    > удобно. подумай, почему.
    > подумал. Не понял.

    и почему?
  • Sergey13 © (13.08.10 10:32) [6]
    > [5] 12 ©   (13.08.10 08:37)

    Насколько я помню права доступа проверяются на стадии разбора запроса. А при неопределенном поле как проверить права?
  • Игорь Шевченко © (13.08.10 10:47) [7]

    > и почему?


    потому что план запроса строится
  • 12 © (13.08.10 11:10) [8]
    аа.. точно
    спасибо!
 
Конференция "Базы" » Параметры в Oracle, ошибка ORA-01747 [D7]
Есть новые Нет новых   [134432   +20][b:0][p:0]