alibaba / druid

阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
https://github.com/alibaba/druid/wiki
Apache License 2.0
27.76k stars 8.55k forks source link

oracle 解析 alter add (CONSTRAINT) 语句失败 #5969

Open serendipity2223 opened 4 weeks ago

serendipity2223 commented 4 weeks ago

durid版本: 1.2.23

alter table POLL_JOB_DETAILS add (

SCHED_NAME VARCHAR2(120) DEFAULT 'OCS_SCHEDULER' NOT NULL,

IS_NONCONCURRENT VARCHAR2(1) default 'N' NOT NULL,

IS_UPDATE_DATA VARCHAR2(1) default 'N'  NOT NULL,

CONSTRAINT POLL_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)

);

Exception in thread "main" com.alibaba.druid.sql.parser.ParserException: illegal name, pos 225, line 9, column 5, token CONSTRAINT
    at com.alibaba.druid.sql.parser.SQLExprParser.name(SQLExprParser.java:2527)
    at com.alibaba.druid.sql.dialect.oracle.parser.OracleExprParser.name(OracleExprParser.java:1123)
    at com.alibaba.druid.sql.parser.SQLExprParser.parseColumn(SQLExprParser.java:4802)
    at com.alibaba.druid.sql.parser.SQLExprParser.parseColumn(SQLExprParser.java:4788)
    at com.alibaba.druid.sql.parser.SQLStatementParser.parseAlterTableAddColumn(SQLStatementParser.java:4890)
    at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseAlterTable(OracleStatementParser.java:1560)
    at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parserAlter(OracleStatementParser.java:1324)
    at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseStatementList(OracleStatementParser.java:147)
    at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:106)
    at com.cyzhao.druidtest.DuridTest.main(DuridTest.java:683)