【发布时间】:2022-01-12 21:32:50
【问题描述】:
我不明白我在这里做什么,但我在以下 SQL 代码中不断收到“缺少左括号”错误。谁能告诉我我做错了什么?新手来了。
CREATE TABLE AGENT_INFO
(AgentID SMALLINT PRIMARY KEY, AgentName VARCHAR, PhoneNumber VARCHAR);
【问题讨论】:
我不明白我在这里做什么,但我在以下 SQL 代码中不断收到“缺少左括号”错误。谁能告诉我我做错了什么?新手来了。
CREATE TABLE AGENT_INFO
(AgentID SMALLINT PRIMARY KEY, AgentName VARCHAR, PhoneNumber VARCHAR);
【问题讨论】:
varchar 数据类型需要大小:
SQL> CREATE TABLE AGENT_INFO
2 (AgentID SMALLINT PRIMARY KEY,
3 AgentName VARCHAR2(20),
4 PhoneNumber VARCHAR2(20));
Table created.
SQL>
(注意Oracle推荐varchar2而不是varchar。)
【讨论】:
VARCHAR 数据类型需要一个大小(在 Oracle 中应该是 VARCHAR2,对于 NUMBER(38) 应该是 SMALLINT is an alias):
CREATE TABLE AGENT_INFO(
AgentID SMALLINT PRIMARY KEY,
AgentName VARCHAR2(10),
PhoneNumber VARCHAR2(10)
);
如果您想要一个可以接受文本而不指定最大大小的字符串列,请使用CLOB:
CREATE TABLE AGENT_INFO(
AgentID NUMBER(38) PRIMARY KEY,
AgentName CLOB,
PhoneNumber CLOB
);
db小提琴here
【讨论】: