Loading...
Thursday, May 22, 2008

ORA-00904

ORA-00904
ORA-00904: string: invalid identifier
Cause: The column name entered is either missing or invalid.
Action: How to Create Oracle Database Manually When ORA-00904 occurs, you must enter a valid column name as it is either missing or the one entered is invalid.

The options to resolve this Oracle error are:
    Rewrite your SQL using a valid column name.A valid column name must meet the following criteria:
  1. The column name must begin with a letter.
  2. The column name must not be longer than 30 characters.
  3. The column name must be made up of alphanumeric characters or the following special characters: $, _, and #. If the column name uses any other characters, it must be enclosed in double quotation marks.
  4. The column name can not be a reserved word.
Oracle Reserver Word List
  • ACCESS
  • ADD
  • ALL
  • ALTER
  • AND
  • ANY
  • AS
  • ASC
  • AUDIT
  • BETWEEN
  • BY
  • CHAR
  • CHECK
  • CLUSTER
  • COLUMN
  • COMMENT
  • COMPRESS
  • CONNECT
  • CREATE
  • CURRENT
  • DATE
  • DECIMAL
  • DEFAULT
  • DELETE
  • DESC
  • DISTINCT
  • DROP
  • ELSE
  • EXCLUSIVE
  • EXISTS
  • FILE
  • FLOAT
  • FOR
  • FROM
  • GRANT
  • GROUP
  • HAVING
  • IDENTIFIED
  • IMMEDIAE
  • IN
  • INCREMENT
  • INDEX
  • INITIAL
  • INSERT
  • INTEGER
  • INTERSECT
  • INTO
  • IS
  • LEVEL
  • LIKE
  • LOCK
  • LONG
  • MAXEXTENTS
  • MINUS
  • MISLABEL
  • MODE
  • MODIFY
  • NOAUDIT
  • NOCOMPRESS
  • NOT
  • NOWAIT
  • NULL
  • NUMBER
  • OF
  • OFFLINE
  • ON
  • ONLINE
  • OPTION
  • OR
  • ORDER
  • PCTFREE
  • PRIOR
  • PRIVILEGES
  • PUBLIC
  • RAW
  • RENAME
  • RESOURCE
  • REVOKE
  • ROW
  • ROWID
  • ROWNUM
  • ROWS
  • SELECT
  • SESSION
  • SET
  • SHARE
  • SIZE
  • SMALLINT
  • START
  • SUCCESSFUL
  • SYNONYM
  • SYSDATE
  • TABLE
  • THEN
  • TO
  • TRIGGER
  • UID
  • UNION
  • UNIQUE
  • UPDATE
  • USER
  • VALIDATE
  • VALUES
  • VARCHAR
  • VARCHAR2
  • VIEW
  • WHENEVER
  • WHERE
  • WITH




Tags: ,,,,

1 comments:

Niramit Soonthawong said...

I have come across the error on the internet related to this ora-090004 error here is the question
"What causes ora-00904 error on valid fields when querying across dblink in a cursor" There are 2 possible causes either it might be that oracle are in difference version or one of the databases is non-oracle
There are 2 solution the author mentioned

- If the error is detected in the 'where' clause, you might need to be sure that no implicit type conversions are being made in the 'where' conditions (i.e. comparing numeric fields with varchar ones), or you may even need to force this type conversions (ex. t1.numeric_field1 = to_char(t2.numeric_field2)). This may sound a little strange (maybe not too little) but believe me, it could work.

- If the error is in the columns list of the 'select' statement, you could need to re-write your cursor using dynamic sql, enclosing your column names or even your table names in double quotes.

more information you might wanna take a look at http://itknowledgeexchange.techtarget.com/itanswers/what-causes-ora-00904-error-on-valid-fields-when-querying-across-dblink-in-a-cursor/

 
TOP