我一直在搜索和玩弄代码,试图弄清楚为什么当我在其他表中遵循 Oracle 引用的格式时,它给了我括号错误
Create table TourOperator (TOID int PRIMARY KEY, Cname varchar (20), phone long int);
Create table Airline(Aname varchar(20) PRIMARY KEY, Website varchar(255), Phone int(10), TOID int, FOREIGN KEY(TOID) REFERENCES TourOperator);
根据 Oracle 语法,您的 SQL 中存在一些问题:
INT
不能用大小限定。VARCHAR
技术上确实存在于 Oracle 中,但不推荐使用;使用VARCHAR2
来代替。LONG
; 这是一种不应该用于新数据库的遗留类型。我将phone
列更改为VARCHAR2
.SQL 可以运行为:
Create table TourOperator (
TOID int PRIMARY KEY,
Cname varchar2(20),
phone varchar2(20)
);
Create table Airline(
Aname varchar2(20) PRIMARY KEY,
Website varchar2(255),
Phone int,
TOID int REFERENCES TourOperator (TOID)
);
请参阅db<>fiddle 上的运行示例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句