第十一章例题

【例11.5】 在stusys 数据库的student表创建一个触发器T_deleteStudentScore,当删除表student中某个学生的记录时,同时将score表中与该学生有关的数据全部删除。
use stusys;
select * from student;
select * from score;
delimiter //
create trigger T_deleteStudentScore after delete
    on student for each row
    begin
        delete from score where sno=old.sno;
    end //
delimiter ;
delete from student where sno='191001';
select * from score where sno='191001';


【例11.6】创建现在立即执行的事件E_direct,执行时创建一个表tb。
show triggers;
use stusys;
delimiter //
create event E_direct
    on schedule at now()
    do
        begin
            create table new_table(timeline timestamp);
        end //
delimiter ;
show tables;
【例11.7】创建事件E_insertTb,每2秒钟插入一条记录到表tb。
  select * from new_table;
  delimiter //
  create event E_insertTb
    on schedule every 2 second
    do
        begin 
            insert into new_table
                values(current_timestamp());
        end //
  delimiter ;
【例11.8】创建事件E_startDays,从第2天起,每天清空表tb,在2021年12月31日结束。

 

【例11.9】将事件E_startDays更名为E_firstDays。
alter event E_startDays
    rename to E_firstDays;
【例11.10】删除事件E_firstDays。
drop event E_firstDays;


【例10.14】创建一个存储函数F_courseName,由课程号查课程名。
use stusys;
select * from course;
select cname from course where cno='1004';
set global log_bin_trust_function_creators=1;
delimiter //
create function F_courseName(v_cno char(10))
    returns char(10)
    deterministic
    begin
        return(select cname from course where cno=v_cno);
    end //
delimiter ;
【例10.15】调用存储函数F_courseName。
select F_courseName('4002');
【例10.16】删除存储函数F_courseName。
drop function F_courseName;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值