ORA_01747:User.table.column 或列说明无效
   此问题的原因是因为表的列名称使用了Oracle声明的关键字,解决方案:
    1、首先我们要确认哪些字符串是Oracle的关键字,具体可通过Oracle提供的V$RESERVED_WORDS
    2、对历史遗留系统的处理
  • 考虑修改表的列名,风险较大
  • 修改特定查询语句
    3、验证
    通过验证得出结论:
  • 在查询列中使用双引号
  • 要注意列的大小写
oracle的保留字
  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 IMMEDIATE IN INCREMENT INDEX INITIAL
  INSERT INTEGER INTERSECT INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL 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

本文出自 “sxmalinhu” 博客,请务必保留此出处http://malinhu.blog.51cto.com/3568860/975122

posted on 2012-11-19 09:14  莫等闲也  阅读(1335)  评论(0编辑  收藏  举报