java.sql.SQLSyntaxErrorException: ORA-00904: : 标识符无效
Posted
技术标签:
【中文标题】java.sql.SQLSyntaxErrorException: ORA-00904: : 标识符无效【英文标题】:java.sql.SQLSyntaxErrorException: ORA-00904: : invalid identifier 【发布时间】:2017-09-21 08:27:37 【问题描述】:CREATE TABLE S_6500_67_SNAPSHOT_ROWDATA_201([MATERIAL] varchar2(2000), [OBJVERS] varchar2(2000), [CHANGED] varchar2(2000), [AF_COLOR] varchar2(2000), [AF_FCOCO] varchar2(2000), [AF_GENDER] varchar2(2000), [PROD_HIER] varchar2(2000), [WIDTH] decimal)
当我运行上述查询时,我得到了异常:
【问题讨论】:
Oracle 是否理解这些方括号? ANSI SQL 有用于分隔标识符的双引号,例如"MATERIAL"
.
去掉列名中的[ ]
。
【参考方案1】:
在Oracle中创建表的正确语法是
CREATE TABLE table_name
(
column1 datatype [ NULL | NOT NULL ],
column2 datatype [ NULL | NOT NULL ],
...
column_n datatype [ NULL | NOT NULL ]
);
所以,只需从列名中删除方括号,我认为您应该按如下方式编写查询
CREATE TABLE S_6500_67_SNAPSHOT_ROWDATA_201(MATERIAL varchar2(2000), OBJVERS varchar2(2000), CHANGED varchar2(2000), AF_COLOR varchar2(2000), AF_FCOCO varchar2(2000), AF_GENDER varchar2(2000), PROD_HIER varchar2(2000), WIDTH decimal)
【讨论】:
以上是关于java.sql.SQLSyntaxErrorException: ORA-00904: : 标识符无效的主要内容,如果未能解决你的问题,请参考以下文章