вторник, 9 августа 2011 г.

SQL-ошибка: ORA-01747: invalid user.table.column, table.column, or columns specification

При использовании служебных слов в качестве имен полей можно получить ошибку ORA-01747: invalid user.table.column, table.column, or columns specification. Характерно для Oracle, возможно имеет место для других СУБД.

Пример:
select a.access from accessrights a

Дело в том, что 'access' является служебным словом, и приведенное SQL-выражение не выполнится. Выход из этой ситуации очень прост - использование кавычек.
select a."access" from accessrights a

1 комментарий: