mysql触发器和存储过程_MySql的存储过程和触发器
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的存储过程和触发器相关推荐
- mysql自定义存储过程_MySQL自定义函数、触发器、存储过程
存储过程 概念 存储过程,是一个数据库对象,类似一个函数. 在存储过程中可以使用SQL中的绝大部分内容,并且可以加入编程语言的特性(循环判断分支). 编写好存储过程之后,可以在客户端调用存储过程,存储 ...
- mysql 过程和函数_MySQL:存储过程和函数
变量 系统变量 变量由系统提供,不是用户自定义的,属于服务器层面 全局变量 会话变量 # 如果是全局级别,则需要加global,如果是会话级别,则需要加session,如果不写,则默认是会话 # 查看 ...
- navicat 怎么调试存储过程_Mysql调试存储过程最简单的方法
以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具.今天google了下发现可以用select + 变量名的方法来调试...真是让我汗颜啊. ...
- mysql视图执行原理_MySql中的视图 触发器 存储过程,以及事物
视图: 一个临时表被反复使用的时候,对这个临时表起一个别名,方便以后使用,就可以创建一个视图,别名就是视图的名称.视图只是一个虚拟的表,其中的数据是动态的从物理表中读出来的,所以物理表的变更回改变视图 ...
- mysql 触发器定义变量_MySQL 函数存储过程触发器定义简单示例
1.变量提示 NEW 是新值-- OLD 是旧值 INSERT 只有NEW ----UPDATE有NEW和OLD ---DELETE只有OLD 2.准备测试表(userinfo.userinfolog ...
- mysql触发器行锁_MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
需求: 有一个账户,两个人在同一时间要对此账户操作,A要对账户充值100块,B要从账户中取出100块.操作前都要先看一下账户的 余额然后再操作. --窗口1 用户进行充值 --充值前 先查看余额 se ...
- mysql 定义存储过程_mysql——定义——存储过程和函数——概念
存储过程和函数是指将经常使用的一组SQL语句组合在一起,并将这些SQL语句当作一个整体存储在服务器中 一.创建存储过程 语法格式: create procedure sp_name ( [ proc_ ...
- c mysql分页存储过程_mysql 分页存储过程调用报错
以前没有写过存储过程,第一次写遇到了这个问题,没弄明白.希望哪位大神能给出的建议!!! sql 语句如下: CREATE DEFINER=`root`@`%` PROCEDURE `pager` ( ...
- mysql多值存储过程_mysql使用存储过程回来多个值
mysql使用存储过程返回多个值 可以使用OUT.INOUT参数类型让存储过程返回多个结果,存储函数不能胜任,因为只能返回一个.比如统计student数据表里男生和女生人数并通过它的参数返回这两个计数 ...
最新文章
- 南京人工智能高等研究院孔慧:多向技术驱动,让企业具备长久竞争力
- 通俗易懂地解决中文乱码问题(2) --- 分析解决Mysql插入移动端表情符报错 ‘incorrect string value: '\xF0......
- Linux安装pecl和pear
- 《移动应用开发》作业——JavaScript
- 十六进制透明度参照表
- 16-修改文件内容 - vi
- 一次简单易懂的多态重构实践,让你理解条件逻辑
- 十年,从网管到首席架构师,我的成长感悟
- 离散数学:幂集,生成
- 同一网络下的两台计算机怎样共享,同一路由器上的两台计算机如何共享文件?...
- 如何批量将ofd转换为PDF格式
- c++采集声卡输出_基于C++Builder的声卡数据实时采集的实现
- 5x2cv配对t检验(5x2cv paired t test)
- 如何看待IT行业发展前景,就业前景和人才需求趋势
- C. Fishingprince Plays With Array
- 【JAVA】力扣第197场周赛代码+解题思路
- 2019肖秀荣考研政治3件套
- java导出Excel保留小数位数两位
- NAN、QNAN、 SNAN、 IND、 INF
- 【赛迪智库】美国允许自动驾驶汽车取消方向盘对我国L4级自动驾驶的影响
热门文章
- 数据中心分解实验四--PC和VPC
- LAMP中apache的配置步骤
- DICOM医学图像处理:Dcmtk与fo-dicom保存文件的不同设计模式之“同步VS异步”+“单线程VS多线程”...
- 分部类--重温篇[好处,示例]
- 从Java视角理解系统结构(一)CPU上下文切换
- python3 配置文件操作库 configparser 读取配置文件后 元组列表转字典
- linux libssh2 实例
- linux c size_t ssize_t 简介
- linux c 内核 ISO C90 forbids mixed declarations and code 警告
- Linux中的configure、pkg-config、pkg_config_path和安装中的PKG_CONFIG_PATH问题 pkgconfig