为学校建立一个数据库,设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。.现要建立关于系、学生、班级的数据库(studentdb),关系模式为:
STUDENT (学号,姓名,年龄,班号)
CLASS (班号,专业名,系名,入学年份)
DEPARTMENT (系号,系名 )试用SQL语言完成以下功能:1 建表,在定义中要求声明:
(1)每个表的主外码。
(2)每个班级的人数不能超过30人。
(3)只有班里没有学生的时候,才能删除该班级。大家好,我是新手,第(2)和(3)问要怎么写?
on STUDENT
INSTEAD OF insert
as
begin
declare @stusum int
select @stusum=count(*) from STUDENT
if(@stusum <5)
insert into STUDENT select * from inserted
else
raiserror 50005 N'学生不能大于30'
endcreate table STUDENT (学号 int,姓名 varchar(20),年龄 int,班号 int)
insert into student select 1,'a',2,3
select * from student
--第2题
--楼主应该多点分数,太少了
create trigger trigI_student on student
for insert
as
if (select count(*) from student)>30
begin
raiserror('不能多于30人',16,1)
rollback tran
end