Is there any other way to create constraints during SQL table creation?

后端 未结 1 792
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-06 21:24

Assume I have this following SQL statements, using Oracle:

drop table department cascade constraints;
drop table facultyStaff cascade constraints;
drop table         


        
相关标签:
1条回答
  • 2020-12-06 21:46

    You can do this with a create schema statement:

    create schema authorization [schema name]
    create table department 
    (   code      varchar2(3) primary key,
        name      varchar2(40)  not null,
        chair     varchar2(11),
        constraint departmentChairFk foreign key(chair) references facultyStaff(staffId) on delete set null
    )
    create table facultyStaff 
    (   staffID     varchar2(5) primary key,
        dob     date,
        firstName   varchar2(20),
        lastName    varchar2(20),
        rank        varchar2(10),
        deptCode    varchar2(3),
        constraint rankValue check (rank in ('Assistant', 'Associate', 'Full', 'Emeritus')),
        constraint facultyDeptFk foreign key (deptCode) references department (code)
    )
    create table student 
    (   studentId   varchar2(5) primary key,
        dob     date ,
        firstName   varchar2(20),
        lastName    varchar2(20),
        status      varchar(10),
        major       varchar(3),
    constraint statusValue check (status in ('Freshman', 'Sophomore', 'Junior', 'Senior',  'Graduate')),
        constraint studentMajorFk foreign key (major) references department (code)
    );
    
    0 讨论(0)
提交回复
热议问题