用自定义函数,实现约束条件

    技术2022-05-11  49

    问题: 现要为学校建立一个数据库,学校院系机构设置如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生,要求建立一个关于系、学生、班级的数据库,关系模式为:学生STUDENT (学号,姓名,年龄,班号)班CLASS (班号,专业名,系名,入学年份)系DEPARTMENT (系号,系名)  请用SQL语文完成以下功能:1、使用查询分析器建表,要求声明:(2)每个班级的人数不能超过20人。(3)学生的年龄介于16到30岁之间。

      请大虾帮忙怎样写这个约束语句。

     

    --创建环境

    Create Table STUDENT (   学号 varchar(10),   姓名 varchar(10),   年龄 int,   班号 int)goCreate Table CLASS (   班号 int,   专业名 varchar(10),   系名 varchar(10),   入学年份 int)goCreate Table DEPARTMENT (   系号 int,   系名 varchar(10))go

    --函数--创建函数create function f_check()returns intasbegin      declare @num int      select @num=count(学号) from STUDENT              GROUP BY 班号      return @numendgo

    --添加约束alter table STUDENT add constraint student_学号_check check(dbo.f_check()<=20)

    alter table STUDENT add constraint student_年龄_check check(年龄>=16 and 年龄<=30)

    --删除环境Drop table STUDENT,CLASS,DEPARTMENT 


    最新回复(0)