Oracle SQL - 创建表时无效的数据类型(无布尔值)

时间:2017-06-29 05:48:30

标签: sql oracle

我正在尝试在我的数据库中创建一个表,所以我运行它:

  CREATE TABLE SP
   (    
    SP_ID NUMBER(15,0) primary key, 
    SP_BEZ VARCHAR2(20 CHAR) not null, 
    SP ADD SP_BEZLANG varchar2(200),
    SP ADD SP_CODE varchar2(30),
    SP_ERTS TIMESTAMP(6) DEFAULT SYSTIMESTAMP not null
   );

但它出现了:

ORA-00902: invalid datatype
00902. 00000 -  "invalid datatype"
*Cause:    
*Action:

我知道oracle不支持布尔值,这是我在谷歌搜索这个问题时发现的东西,但是它不包含任何内容,它也很短。

有人发现我的创建声明有什么问题吗? 感谢。

数据库是Oracle 11g快递版。

3 个答案:

答案 0 :(得分:2)

试试这个:

  

' SP ADD'因为' ADD'不是数据类型

CREATE TABLE SP
   (    
    SP_ID NUMBER(15,0) primary key, 
    SP_BEZ VARCHAR2(20 CHAR) not null, 
    SP_BEZLANG varchar2(200),
    SP_CODE varchar2(30),
    SP_ERTS TIMESTAMP(6) DEFAULT SYSTIMESTAMP not null
   );

答案 1 :(得分:1)

你有额外的' SP ADD',这个有效:

CREATE TABLE SP
   (    
    SP_ID NUMBER(15,0) primary key, 
    SP_BEZ VARCHAR2(20 CHAR) not null, 
    SP_BEZLANG varchar2(200),
    SP_CODE varchar2(30),
    SP_ERTS TIMESTAMP(6) DEFAULT SYSTIMESTAMP not null
   );

答案 2 :(得分:0)

要在oracle中创建表,您可以浏览此文档:

https://docs.oracle.com/cd/B28359_01/server.111/b28310/tables003.htm#ADMIN11004

在您遇到问题的情况下,您应该以这种方式创建表:

CREATE TABLE SP
 (  SP_ID NUMBER(15,0) primary key, 
    SP_BEZ VARCHAR2(20) not null, 
    SP_BEZLANG varchar2(200),
    SP_CODE varchar2(30),
    SP_ERTS TIMESTAMP(6) DEFAULT SYSTIMESTAMP not null
   );