引入外键时,我在 SQL Oracle 中不断收到括号错误

维特洛尔

我一直在搜索和玩弄代码,试图弄清楚为什么当我在其他表中遵循 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章