ORA-00907: 缺少右括号 SQL
ORA-00907: missing right parenthesis SQL Developer
我需要知道为什么我在这部分代码中出现括号错误。
CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER(3) CONSTRAINT CIUDAD_PK PRIMARY KEY (COD_CIUDAD),
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE NOT NULL,
NOMBRE_REGION VARCHAR(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL
);
使用PRIMARY KEY (COD_CIUDAD)
语法时,约束必须与列分开定义或删除(COD_CIUDAD)
您应该使用以下查询:
CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER(3) ,
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE NOT NULL,
NOMBRE_REGION VARCHAR(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL,
CONSTRAINT CIUDAD_PK PRIMARY KEY (COD_CIUDAD)
);
也可以忽略命名NOT NULL
约束:
CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER(3) ,
NOMBRE VARCHAR2(20) NOT NULL,
NOMBRE_REGION VARCHAR(20) NOT NULL,
CONSTRAINT CIUDAD_PK PRIMARY KEY (COD_CIUDAD)
);
参考文献:
当您使用内联约束时,PRIMARY KEY
自动引用正在声明的列。因此,(COD_CIUDAD)
不被接受。
试试这个:
CREATE TABLE CIUDAD (
COD_CIUDAD NUMBER(3) CONSTRAINT CIUDAD_PK PRIMARY KEY,
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE NOT NULL,
NOMBRE_REGION VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL
);
我将 NOMBRE_REGION
的类型更改为 VARCHAR2()
。
我需要知道为什么我在这部分代码中出现括号错误。
CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER(3) CONSTRAINT CIUDAD_PK PRIMARY KEY (COD_CIUDAD),
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE NOT NULL,
NOMBRE_REGION VARCHAR(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL
);
使用PRIMARY KEY (COD_CIUDAD)
语法时,约束必须与列分开定义或删除(COD_CIUDAD)
您应该使用以下查询:
CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER(3) ,
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE NOT NULL,
NOMBRE_REGION VARCHAR(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL,
CONSTRAINT CIUDAD_PK PRIMARY KEY (COD_CIUDAD)
);
也可以忽略命名NOT NULL
约束:
CREATE TABLE CIUDAD(
COD_CIUDAD NUMBER(3) ,
NOMBRE VARCHAR2(20) NOT NULL,
NOMBRE_REGION VARCHAR(20) NOT NULL,
CONSTRAINT CIUDAD_PK PRIMARY KEY (COD_CIUDAD)
);
参考文献:
当您使用内联约束时,PRIMARY KEY
自动引用正在声明的列。因此,(COD_CIUDAD)
不被接受。
试试这个:
CREATE TABLE CIUDAD (
COD_CIUDAD NUMBER(3) CONSTRAINT CIUDAD_PK PRIMARY KEY,
NOMBRE VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE NOT NULL,
NOMBRE_REGION VARCHAR2(20) CONSTRAINT NOTNULL_NOMBRE_REGION NOT NULL
);
我将 NOMBRE_REGION
的类型更改为 VARCHAR2()
。