Mysql的存储过程是类似于其它编程语言中的函数的功能,存储过程内部可以使用顺序循环和转移三种基本程序结构,而且整个存储过程可以接受和返回参数。

创建存储过程(procedure)时,因为其内部有以;结尾的sql语句,所以我们要更改语句结束符,使用delimiter  //来更改结束符为//。然后就可以定义了,eg

create procedure name()

begin

declare a int(10);

set a = 1;

while a<10 do

if a%2 = 1 then

set a = a+1;

insert into users values (null,a,’’,’’);

else

set a=a+1;

end if;

end while;

end //

调用时直接使用call name()来就可以,注意要带()。

显示创建过程用show create procedure name

显示所有存储过程用show procedure status

删除存储过程用 drop procedure name

存储过程内可以使用字符串,时间和数学函数。同时可以在参数列表中定义传入和传出的参数,定义输出参数 out a int,在存储过程内部给这个变量@a赋值,显示时用select @a。

Mysql的触发器相当于内部处理的一些过程,他不带入和带出任何的参数,其内部使用的参数就是新旧两条记录old和new的字段。用于完成数据表之间的触发操作,来保证数据库的一致性、完整性。

定义触发器的规程:

create trigger name after|before delete|update|insert on table_name for each row begin end 当有多个语句的时候就用begin和end,不可以有多个相同时间点的相同类型操作。Eg

Create trigger name before update on users

For each row

Begin

If new.admin = 1 then

Set new.admin =1;

Else

Set new.admin =0;

End if;

End

调用触发器,当在表上出现制定的操作时,执行相应的触发器。

删除触发器drop trigger name

用途举例:同步插入数据至不同类型的表,同步删除关联数据。

mysql触发器和存储过程_MySql的存储过程和触发器相关推荐

  1. mysql自定义存储过程_MySQL自定义函数、触发器、存储过程

    存储过程 概念 存储过程,是一个数据库对象,类似一个函数. 在存储过程中可以使用SQL中的绝大部分内容,并且可以加入编程语言的特性(循环判断分支). 编写好存储过程之后,可以在客户端调用存储过程,存储 ...

  2. mysql 过程和函数_MySQL:存储过程和函数

    变量 系统变量 变量由系统提供,不是用户自定义的,属于服务器层面 全局变量 会话变量 # 如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是会话 # 查看 ...

  3. navicat 怎么调试存储过程_Mysql调试存储过程最简单的方法

    以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. ...

  4. mysql视图执行原理_MySql中的视图 触发器 存储过程,以及事物

    视图: 一个临时表被反复使用的时候,对这个临时表起一个别名,方便以后使用,就可以创建一个视图,别名就是视图的名称.视图只是一个虚拟的表,其中的数据是动态的从物理表中读出来的,所以物理表的变更回改变视图 ...

  5. mysql 触发器定义变量_MySQL 函数存储过程触发器定义简单示例

    1.变量提示 NEW 是新值-- OLD 是旧值 INSERT 只有NEW ----UPDATE有NEW和OLD ---DELETE只有OLD 2.准备测试表(userinfo.userinfolog ...

  6. mysql触发器行锁_MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁

    需求: 有一个账户,两个人在同一时间要对此账户操作,A要对账户充值100块,B要从账户中取出100块.操作前都要先看一下账户的 余额然后再操作. --窗口1 用户进行充值 --充值前 先查看余额 se ...

  7. mysql 定义存储过程_mysql——定义——存储过程和函数——概念

    存储过程和函数是指将经常使用的一组SQL语句组合在一起,并将这些SQL语句当作一个整体存储在服务器中 一.创建存储过程 语法格式: create procedure sp_name ( [ proc_ ...

  8. c mysql分页存储过程_mysql 分页存储过程调用报错

    以前没有写过存储过程,第一次写遇到了这个问题,没弄明白.希望哪位大神能给出的建议!!! sql 语句如下: CREATE DEFINER=`root`@`%` PROCEDURE `pager` ( ...

  9. mysql多值存储过程_mysql使用存储过程回来多个值

    mysql使用存储过程返回多个值 可以使用OUT.INOUT参数类型让存储过程返回多个结果,存储函数不能胜任,因为只能返回一个.比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数 ...

最新文章

  1. 南京人工智能高等研究院孔慧:多向技术驱动,让企业具备长久竞争力
  2. 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0......
  3. Linux安装pecl和pear
  4. 《移动应用开发》作业——JavaScript
  5. 十六进制透明度参照表
  6. 16-修改文件内容 - vi
  7. 一次简单易懂的多态重构实践,让你理解条件逻辑
  8. 十年,从网管到首席架构师,我的成长感悟
  9. 离散数学:幂集,生成
  10. 同一网络下的两台计算机怎样共享,同一路由器上的两台计算机如何共享文件?...
  11. 如何批量将ofd转换为PDF格式
  12. c++采集声卡输出_基于C++Builder的声卡数据实时采集的实现
  13. 5x2cv配对t检验(5x2cv paired t test)
  14. 如何看待IT行业发展前景,就业前景和人才需求趋势
  15. C. Fishingprince Plays With Array
  16. 【JAVA】力扣第197场周赛代码+解题思路
  17. 2019肖秀荣考研政治3件套
  18. java导出Excel保留小数位数两位
  19. NAN、QNAN、 SNAN、 IND、 INF
  20. 【赛迪智库】美国允许自动驾驶汽车取消方向盘对我国L4级自动驾驶的影响

热门文章

  1. 数据中心分解实验四--PC和VPC
  2. LAMP中apache的配置步骤
  3. DICOM医学图像处理:Dcmtk与fo-dicom保存文件的不同设计模式之“同步VS异步”+“单线程VS多线程”...
  4. 分部类--重温篇[好处,示例]
  5. 从Java视角理解系统结构(一)CPU上下文切换
  6. python3 配置文件操作库 configparser 读取配置文件后 元组列表转字典
  7. linux libssh2 实例
  8. linux c size_t ssize_t 简介
  9. linux c 内核 ISO C90 forbids mixed declarations and code 警告
  10. Linux中的configure、pkg-config、pkg_config_path和安装中的PKG_CONFIG_PATH问题 pkgconfig