Search code examples
sqloracle-databasecreate-table

ShortInteger invalid data type SQL Developer


As I'm trying to create this table in SQL Developer

CREATE TABLE CARTECREDIT 
(
    forfaitID  INTEGER,
    nomForfait VARCHAR(13) NOT NULL ,
    cout NUMBER(10,4),
    locationMax SHORTINTEGER  NOT NULL,
    dureeMax  SHORTINTEGER   NOT NULL,
    PRIMARY KEY (forfaitID)
);

I'm facing this error message

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

It seems that SQL Developer is not recognizing the SHORTINTEGER as they're not highlighted in blue

But according to the documentation Oracle Documentation the SHORTINTEGER is a real datatype

What did I do wrong ?


Solution

  • SHORTINTEGER is not supported. You're linking the docs for datatypes used in OLAP Datawerehouse.

    Datatypes for Oracle 10 are specified here

    https://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements001.htm#i54873

    If you want to use Oracle Native datatypes your should use NUMBER (optionally specifying precision and scale) and VARCHAR2 instead of VARCHAR

    You can use, however, ANSI datatypes too, such as INTEGER, INT, SMALLINT, VARCHAR. But i suggest you use Oracle native datatypes.