【问题标题】:sql creating table with constraintssql创建带约束的表
【发布时间】:2015-12-10 04:28:44
【问题描述】:

当我运行这段代码时出现错误提示,

SQL 错误:ORA-00905:缺少关键字 00905. 00000 - “缺少关键字”

*原因:
*行动:在 ORACLE 上运行它。不知道怎么解决。

CREATE TABLE LAB4 (
  ROOMID1 NUMBER(8) NOT NULL,
  BUILDING1 VARCHAR2(25) NOT NULL,
  ROOMNO1 VARCHAR2(25) NOT NULL,
  CONSTRAINT ROOMPK1 PRIMARY KEY(ROOMID1));

CREATE TABLE BOOKING (
  BOOKINGID NUMBER(4) NOT NULL ,
  DAYOFWEEK CHAR(15) NOT NULL,
  TIMEOFDAY CHAR(8) NOT NULL,
  DURATION VARCHAR2(20)NOT NULL,
  UNITCODE NUMBER(8)NOT NULL,
  ROOMID NUMBER(4) NOT NULL, 
  CONSTRAINT BOOKINGPK PRIMARY KEY(BOOKINGID),
  CONSTRAINT LABFK FOREIGN KEY(ROOMID)
    REFERENCES LAB(ROOMID)
     ON UPDATE NO ACTION
    ON DELETE NO ACTION
  );

【问题讨论】:

  • 该表名为LAB4,但您引用的是LAB

标签: sql oracle


【解决方案1】:

ON UPDATE NO ACTION ON DELETE NO ACTION 绝对不是 Oracle 语法。

请查看相应的 Oracle 文档(根据您使用的版本 - 您没有提供 Oracle 版本号)。

最新的 Oracle 版本中唯一允许的选项是:

ON DELETE CASCADE / ON DELETE SET NULL

【讨论】:

    猜你喜欢
    • 2022-01-11
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多