![]() ![]() They are not surrounded by punctuation marks or any other special treatments. But for avoiding ORA-00904, you have to clearly know differences between them. One is non-quoted identifiers, the other is quoted identifiers, both are legal ways to name an object. Loose Form vs Exact FormĪccording to Oracle Database Object Names and Qualifiers, there're two kinds of valid naming forms to create a database object. More specifically, ORA-00903 alerts users for invalid table names, and ORA-00911 is raised for positioning illegal characters. Not only ORA-00904, but ORA-00903 and ORA-00911 are also related to illegal usage on object identifiers. But there're some special usages should be taken care of in case of ORA-00904 invalid identifier. Normally, Oracle treats most identifiers excepts password as case-insensitive ones. ![]() Since most user errors were caused by case-sensitive problem, so we have to explain the differences between loose form and exact form first. In this post, you may see some error patterns about ORA-00904 invalid identifier, maybe one of them matches your case. Most users won't believe the error, but indeed SQL parser has never made any mistake. Usually, the error not only occurred in SELECT or INSERT, but also in UPDATE, DELETE, CREATE TABLE, ALTER TABLE and PL/SQL blocks. ![]() ORA-00904 means that you used an invalid identifier which is mostly an unmatched column name or used an incorrect or unqualified syntax in your statement. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |