mysql触发器作业题_mysql上机—触发器

  • Post author:
  • Post category:mysql


第一大题:

创建数据库S-T

创建教师表Teacher,其中字段有

Eno NUMERIC(4) ,

Ename Char(10) ,

Job CHAR(8),

Sal Numeric(7,2),

Deduct Numeric(7,2),

Deptno NUMERIC(2),

完成以下各题:

1、Eno为主键;

2、Ename 取唯一值;

3、约定Sal+Deduct不少于3000;

4、创建一个触发器Insert_Sal,当插入某个教师时,若其job为副教授且工资sal<4000时,自动修正为4000;

5、验证创建的触发器Insert_Sal是否成功。

第二大题

在Mysql中运行下列命令

创建学生表Student

CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY,

Sname CHAR(20) UNIQUE,

Ssex CHAR(2),

Sage SMALLINT,

Sdept CHAR(20));

创建课程表Course

CREATE TABLE Course

(Cno CHAR(4) PRIMARY KEY,

Cname CHAR(40),

Cpno CHAR(4),

Ccredit SMALLINT,

FOREIGN KEY (Cpno) REFERENCES Course(Cno));

创建选课表SC

CREATE TABLE SC

(Sno CHAR(9),

Cno CHAR(4),

Grade SMALLINT,

PRIMARY KEY (Sno,Cno),

FOREIGN KEY (Sno) REFERENCES student(Sno),

FOREIGN KEY (Cno) REFERENCES course(Cno));

插入记录student

insert into student

values(‘200215121′,’李勇’,’男’,20,’CS’),

(‘200215122′,’刘晨’,’女’,19,’CS’);

插入记录course

insert into course

values(‘2′,’数学’,null,2),

(‘6′,’数据处理’,null,2);

插入记录SC

insert into sc

values(‘200215121′,’1’,92),

(‘200215122′,’2’,90);

完成下面习题:

1、创建一个触发器s_delete,当删除学生表student中某个学生的信息时,同时将选课表sc中与该学生有关的数据全部删除。

2、用删除学生表中学号sno=’200215122’的记录来验证创建的触发器。

3、删除创建的触发器s_delete;



版权声明:本文为weixin_29608291原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。