尝试在 SQL 中创建新的 table 时出错
Error trying to create a new table in SQL
我正在做一些 SQL 练习,其中一个需要我 运行 创建新 table
的给定代码
CREATE TABLE TDEPTO_1 (
NUMDE INTEGER,
NUMCE INTEGER,
DIREC INTEGER,
TIDIR TEXT,
PRESU INT,
DEPDE INT,
NOMDE TEXT,
CONSTRAINT [PK] PRIMARY KEY ([NUMDE])
);
但是当我尝试在 Oracle Aplication Express 中 运行 它时,它显示此错误消息
ORA-00902: invalid datatype
您当前的代码似乎是 SQL 服务器。在 Oracle 中,没有完全称为 INTEGER
的数据类型,但有一个 PLS_INTEGER
。同样,没有 TEXT
类型,但我们可以使用类似 VARCHAR2
:
的类型
CREATE TABLE TDEPTO_1 (
NUMDE PLS_INTEGER,
NUMCE PLS_INTEGER,
DIREC PLS_INTEGER,
TIDIR VARCHAR2(100),
PRESU PLS_INTEGER,
DEPDE PLS_INTEGER,
NOMDE VARCHAR2(100),
CONSTRAINT PK PRIMARY KEY (NUMDE)
);
Oracle 中不存在 TEXT
数据类型。您要使用 VARCHAR2(n)
,其中 n
是您的列可以允许的最大字节数(最大 4000 字节)。
根据您的 Oracle 版本,INT
和 INTEGER
可能有效,但最好使用 PLS_INTEGER
此外,您应该删除约束定义中的括号 ([]
),因为这也会在 Oracle 中产生错误。
尝试(将 100
更改为所需的文本长度):
CREATE TABLE TDEPTO_1 (
NUMDE PLS_INTEGER,
NUMCE PLS_INTEGER,
DIREC PLS_INTEGER,
TIDIR VARCHAR2(100),
PRESU PLS_INTEGER,
DEPDE PLS_INTEGER,
NOMDE VARCHAR2(100),
CONSTRAINT PK PRIMARY KEY (NUMDE)
);
我正在做一些 SQL 练习,其中一个需要我 运行 创建新 table
的给定代码CREATE TABLE TDEPTO_1 (
NUMDE INTEGER,
NUMCE INTEGER,
DIREC INTEGER,
TIDIR TEXT,
PRESU INT,
DEPDE INT,
NOMDE TEXT,
CONSTRAINT [PK] PRIMARY KEY ([NUMDE])
);
但是当我尝试在 Oracle Aplication Express 中 运行 它时,它显示此错误消息
ORA-00902: invalid datatype
您当前的代码似乎是 SQL 服务器。在 Oracle 中,没有完全称为 INTEGER
的数据类型,但有一个 PLS_INTEGER
。同样,没有 TEXT
类型,但我们可以使用类似 VARCHAR2
:
CREATE TABLE TDEPTO_1 (
NUMDE PLS_INTEGER,
NUMCE PLS_INTEGER,
DIREC PLS_INTEGER,
TIDIR VARCHAR2(100),
PRESU PLS_INTEGER,
DEPDE PLS_INTEGER,
NOMDE VARCHAR2(100),
CONSTRAINT PK PRIMARY KEY (NUMDE)
);
Oracle 中不存在 TEXT
数据类型。您要使用 VARCHAR2(n)
,其中 n
是您的列可以允许的最大字节数(最大 4000 字节)。
根据您的 Oracle 版本,INT
和 INTEGER
可能有效,但最好使用 PLS_INTEGER
此外,您应该删除约束定义中的括号 ([]
),因为这也会在 Oracle 中产生错误。
尝试(将 100
更改为所需的文本长度):
CREATE TABLE TDEPTO_1 (
NUMDE PLS_INTEGER,
NUMCE PLS_INTEGER,
DIREC PLS_INTEGER,
TIDIR VARCHAR2(100),
PRESU PLS_INTEGER,
DEPDE PLS_INTEGER,
NOMDE VARCHAR2(100),
CONSTRAINT PK PRIMARY KEY (NUMDE)
);