首页 > 解决方案 > 3张表同时参考

问题描述

我正在学习 SQL,我被这个项目困住了。

我需要创建创建 3 个表的脚本,并且它们引用“Matricula”表。

我无法运行代码,也看不到我的错误。

SELECT * FROM demo;

CREATE TABLE Classe 
(
    ClasseID INTEGER NOT NULL ,
    Nome VARCHAR(255) NOT NULL,
    Nr_serie NUMBER(2)
    Sg_Turma VARCHAR2(2)
    Cd_Escola NUMBER(6)
    Cd_Grau NUMBER(2)
    Cd_Periodo NUMBER(2)

    PRIMARY KEY ClasseID
);

CREATE TABLE Matricula 
(
    MatriculaID INTEGER NOT NULL ,
    Matricula VARCHAR(255),
    Nr_Rgm NUMBER(8)
    Cd_Class NUMBER(8)
    Dt_Matricula DATE

    PRIMARY KEY (MatriculaID)
    FOREIGN KEY (ClasseID) REFERENCES Classe (ClasseID),
    FOREIGN KEY (AlunoID) REFERENCES Aluno (AlunoID)
);

CREATE TABLE Aluno 
(
    AlunoID INTEGER NOT NULL ,
    Nome VARCHAR2(255) NOT NULL,
    Nm_Name VARCHAR2(40)
    Nm_Father VARCHAR2(40)
    Nm_Mom VARCHAR2(40)
    Dt_Birth VARCHAR2(40)
    Id_Sex VARCHAR2(40)

    PRIMARY KEY AlunoID
);

标签: sql

解决方案


您应该更改创建表的顺序:创建 tableMatricula时,该表Aluno尚不知道,因为数据库会一一处理语句。


推荐阅读