一、存储过程

  语法:  

    CREATE PROCEDURE([[IN |OUT |INOUT ] 参数名 数据类形...])

    BEGIN

      ...

    END

  参数:

   IN 输入参数

    表示该参数的值必须在调用存储过程的时候指定,在存储过程中修改该参数的值不能被返回,为默认值。

   OUT 输出参数

    该值可在存储过程内部被改变,并可返回。

   INOUT 输入输出参数

    调用时指定,并且可被改变和返回。

  

  小例子:

    

    

二、触发器

    语法:

      CREATE TRIGGER <触发器名称>    --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.
      { BEFORE | AFTER }                        --触发器有执行的时间设置:可以设置为事件发生前或后。
      { INSERT | UPDATE | DELETE }       --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。
      ON <表名称>             --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。
      FOR EACH ROW      --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。
      <触发器SQL语句>     --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。
                     --你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

    

    小例子:

      1. INSERT 触发器

        student 表中增加学生记录之后,自动将记录增加到 borrowrecord 表中

        

        

        

        

        

    

      2.DELETE 触发器

        删除 student 表中的学生记录之后,自动将 borrowrecord 中的相应记录删除。

        

        

  

MySQL存储过程、触发器 小例子的更多相关文章

  1. java连接mysql的一个小例子

    想要用java 连接数据库,需要在classpath中加上jdbc的jar包路径 在eclipse中,Project的properties里面的java build path里面添加引用 连接成功的一 ...

  2. 初试mysql存储过程&触发器

    玩mysql以来,一直没有试过实现存储过程,因为存储过程的语法看起来有些笨重.所以一直采用手动批量运行查询,而且要手动改日期之类的参数. 今天尝试着学了一会,发现其实是很简单的.语法上确实格式复杂些, ...

  3. php,mysql存储过程的简单例子

    一.连接mysql 使用phpmyadmin: 打开test数据库: 二.创建存储过程 参数如图. 三.php中调用存储过程 <?php $user = "root"; // ...

  4. 【Oracle】存储过程写法小例子

    1.存储过程的基本语法: CREATE OR REPLACE PROCEDURE 存储过程名(param1 in type,param2 out type) IS 变量1 类型(值范围); 变量2 类 ...

  5. python连接mysql、oracle小例子

    import  MySQLdbimport  cx_Oracle   as  oraimport  pandas  as  pdfrom    sqlalchemy import create_eng ...

  6. mysql 存储过程 动态sql例子

    proc:BEGIN ; ; ; ) DEFAULT ''; ) DEFAULT ''; ) DEFAULT '';#插入日志的表,一个活动一张表 #将局部变量转换成会话变量 #动态sql语言只接受会 ...

  7. MySQL带参数的存储过程小例子

    http://wwty.iteye.com/blog/698239 mysql存储过程也提供了对异常处理的功能:通过定义HANDLER来完成异常声明的实现 语法如下: DECLARE handler_ ...

  8. 2020重新出发,MySql基础,MySql视图&索引&存储过程&触发器

    @ 目录 视图是什么 视图的优点 1) 定制用户数据,聚焦特定的数据 2) 简化数据操作 3) 提高数据的安全性 4) 共享所需数据 5) 更改数据格式 6) 重用 SQL 语句 MySQL创建视图 ...

  9. MYSQL存储过程、游标、触发器

    MySQL5 中添加了存储过程的支持. 大多数SQL语句都是针对一个或多个表的单条语句.并非所有的操作都怎么简单.经常会有一个完整的操作需要多条才能完成  存储过程简单来说,就是为以后的使用而保存的一 ...

随机推荐

  1. STL deque用法

    Deque 容器 deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容.deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中 ...

  2. 【Fiddler】Fiddler抓包

    简述 在调试H5页面.APP的网络请求时,常用Fiddler进行抓包,查看网络报文是否如我们设想.当然,Fiddler也可对我们电脑端发出HTTP请求进行抓包. Fiddler是以代理的形式运行的,即 ...

  3. 【SimpleMsgPack.NET】发布一个msgpack协议C#版本的解析开源库

    这两年一直都关注这IOCP在网络通信这方面的应用,当然数据的传递是经常需要的.今年接触了MsgPack格式,发现他用来做传输时数据打包真是太爽了.因为他可以直接打包二进制数据,不需要任何的转换.有人会 ...

  4. Scroll的使用

    1.给父元素限制宽高 2.给Scroll限制高度,并overflow:hidden; <div class="rank"> <scroll class=" ...

  5. 记一次金士顿DT100 G3 32G修复

    修复方法参考原文:http://bbs.mydigit.cn/read.php?tid=2291146 故障描述:某天在使用时突然要求格式化,但里面有重要数据,于是想通过DG恢复出来,没想到经过这样的 ...

  6. LeetCode: Construct Binary Tree from Inorder and Postorder Traversal 解题报告

    Construct Binary Tree from Inorder and Postorder Traversal Given inorder and postorder traversal of ...

  7. tf.constant

    tf.constant constant( value, dtype=None, shape=None, name='Const', verify_shape=False ) 功能说明: 根据 val ...

  8. Java多线程中的Runnable和Thread

    摘要: 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的r ...

  9. docker简易命令

    docker应用 安装 sudo yum install docker 启动 docker 进程 $ sudo service docker start Docker 默认开机启动 $ sudo ch ...

  10. C#使用ActiveMQ实例

    1. ActiveMQ消息总线简介 消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已.主要用作不同进程.应用 ...