zoukankan      html  css  js  c++  java
  • mysql学习之触发器

      在借阅表和读者表当中存在着这样的关系,如果在借阅表当中添加一条数据,读者表当中对应的累计借书字段就自增1,如果在借阅表当中删除一条数据,读者表当中对应的累计借书字段就自减1,实现本功能的方法如下。

    1、创建读者表

     1 CREATE TABLE `t_borrowbook` (
     2   `borrowBookId` int(11) NOT NULL AUTO_INCREMENT,
     3   `bookId` int(11) DEFAULT NULL,
     4   `id` int(11) DEFAULT NULL,
     5   `audienceId` int(11) DEFAULT NULL,
     6   `startTime` datetime DEFAULT NULL,
     7   `endTime` datetime DEFAULT NULL,
     8   `borrowBookDesc` text,
     9   PRIMARY KEY (`borrowBookId`)
    10 )

    2、创建借阅表

     1 CREATE TABLE `t_audience` (
     2   `audienceId` int(10) NOT NULL AUTO_INCREMENT,
     3   `audienceName` varchar(20) NOT NULL,
     4   `audienceTypeId` int(10) NOT NULL,
     5   `audienceNumber` varchar(18) NOT NULL,
     6   `sex` varchar(20) DEFAULT NULL,
     7   `cellphone` varchar(11) DEFAULT NULL,
     8   `borrowBookNum` int(10) DEFAULT NULL,
     9   `audienceDesc` text,
    10   PRIMARY KEY (`audienceId`)
    11 )

    3、创建插入自增触发器

     1 DELIMITER $$
     2 
     3 CREATE
     4     /*[DEFINER = { user | CURRENT_USER }]*/
     5     TRIGGER `db_book`.`Tr_borrowbook_Insert` AFTER INSERT
     6     ON `db_book`.`t_borrowbook`
     7     FOR EACH ROW BEGIN
     8     UPDATE t_audience SET borrowBookNum = borrowBookNum+1 WHERE audienceId=new.audienceId;
     9     END$$
    10 
    11 DELIMITER ;

    4、创建删除自减触发器

     1 DELIMITER $$
     2 
     3 CREATE
     4     /*[DEFINER = { user | CURRENT_USER }]*/
     5     TRIGGER `db_book`.`Tr_borrowbook_Delete` AFTER DELETE
     6     ON `db_book`.`t_borrowbook`
     7     FOR EACH ROW BEGIN
     8     UPDATE t_audience SET borrowBookNum = borrowBookNum-1 WHERE audienceId=old.audienceId;
     9     END$$
    10 
    11 DELIMITER ;

      每天进步一点点,一切都是最好的安排。

  • 相关阅读:
    CentOS LiveCD、LiveDVD、BinDVD、netinstall、minimal版区别在哪里
    安装oracle执行runInstaller文件时报错:“……/install/.oui:Permission denied”
    centos7修改系统语言为简体中文
    Centos 7 安装图形化界面
    Centos7中一次性安装开发者工具
    IE 11 浏览器兼容性视图设置
    [bzoj1775][Usaco2009 Dec]Vidgame 电视游戏问题_背包dp
    Codeforces Round #581(Div. 2)

    [Nowcoder113E]弹球弹弹弹_线段树
  • 原文地址:https://www.cnblogs.com/wangchaoyuan/p/6204744.html
Copyright © 2011-2022 走看看