![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параметры в Oracle, ошибка ORA-01747 [D7]
12 © (2010-08-10 15:05:00)После 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)
12 (2010-08-13 11:10:00) [1]аа.. точно
спасибо!
Игорь Шевченко (2010-08-13 10:47:00) [2]
> и почему?
потому что план запроса строится
Sergey13 (2010-08-13 10:32:00) [3]> [5] 12 © (13.08.10 08:37)
Насколько я помню права доступа проверяются на стадии разбора запроса. А при неопределенном поле как проверить права?
12 (2010-08-13 08:37:00) [4]
> удобно. подумай, почему.
> подумал. Не понял.
и почему?
12 (2010-08-13 08:36:00) [5]
> если хочется странного - EXECUTE IMMEDIATE ... USING
нет пожалуй, лучше логику переделать
> удобно. подумай, почему.
подумал. Не понял.
Игорь Шевченко (2010-08-10 16:05:00) [6]
> блин, неудобно
удобно. подумай, почему.
если хочется странного - EXECUTE IMMEDIATE ... USING
12 (2010-08-10 15:28:00) [7]понял
блин, неудобно
Palladin (2010-08-10 15:20:00) [8]параметры не могут выступать в качестве имени поля... и оракл тут ни при чем...