ora-00907缺少右括号日期

时间:2017-12-21 12:09:03

标签: sql oracle jdbc

当我在我的oracle JDBC上创建这个表时,我一直收到这条消息,我不知道出了什么问题(但我可以在MySQL服务器上执行此查询)。谁能想知道为什么我要继续这样做?

mapper.Map(src obj, dest obj);

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

好的......我想我已经解决了。

它抱怨说:

NULL DEFAULT 0

因此,在我更改为DEFAULT 0之后,在我更改了Oracle数据库兼容性的某些类型后,它才起作用。

答案 1 :(得分:0)

是的,在NULL之前添加DEFAULT 0毫无意义,即使添加DEFAULT NULL也是如此。

  

因为,如果列没有DEFAULT值,则隐含地具有   NULL为默认值。

此外,oracle中没有数据类型INT4,而是使用INTEGER

CREATE TABLE temporarytable ( 
 thetype     INTEGER, 
 acode       INTEGER, 
 acodea      INTEGER DEFAULT 0, 
 aname       VARCHAR(50), 
 anameb      VARCHAR(50), 
 agcodec     VARCHAR(16), 
 agnome      VARCHAR(40), 
 acoded      INTEGER, 
 abname      VARCHAR(80), 
 ancode      INTEGER, 
 clieone     VARCHAR(80), 
 adate       DATE, 
 aqtifromi   NUMERIC(20, 6) DEFAULT 0, 
 avaluei     NUMERIC(20, 6) DEFAULT 0, 
 discxxtt    NUMERIC(20, 6) DEFAULT 0, 
 somemore    NUMERIC(20, 6) DEFAULT 0, 
 gaining     NUMERIC(20, 6) DEFAULT 0, 
 valcms      NUMERIC(20, 6) DEFAULT 0, 
 liqidd      NUMERIC(20, 6) DEFAULT 0, 
 theback     NUMERIC(20, 6) DEFAULT 0, 
 theprct     NUMERIC(20, 6) DEFAULT 0, 
 somesll     NUMERIC(20, 6) DEFAULT 0, 
 theccod     INTEGER  
);