个错误做特殊处理,可以用三种方法:
? Declare handler语句用来声明一个handler来处理一个或多个特殊条件,当其中的某个条件满足时则触发其中的statement语句执行
? Statement可以是一个简单SQL语句,也可以是begin…end组成的多个语句
? Handler_action子句声明当执行完statement语句之后应该怎么办
Condition_value的值有以下几种:
? 当condition发生但没有声明handler时,则存储过程和函数依照如下规则处理
? create trigger语句用来创建一个触发器 , 触发器的作用是当表上有对应SQL语句发生时,则触发执行
? 触发器创建时需要指定对应的表名tbl_name
?Definer关键词用来指定trigger的安全环境
? Trigger_time指定触发器的执行时间,BEFORE和AFTER指定触发器在表中的每行数据修改前或者后执行
? Trigger_event指定触发该触发器的具体事件
? INSERT当新的一行数据插入表中时触发,比如通过执行insert,load data,replace语句插入新数据
? UPDATE当表的一行数据被修改时触发,比如执行update语句时
? DELETE当表的一行数据被删除时触发,比如执行delete,replace语句时
? 当执行insert into … on duplicate key update语句时,当碰到重复行执行update时,则触发update下的触发器
? 从5.7.2版本开始,可以创建具有相同trigger_time和trigger_event的同一个表上的多个触发器 , 默认情况下按照创建的时间依次执行,通过指定FOLLOWS/PRECEDES改变执行顺序,即FOLLOWS时表示新创建的触发器后执行,PRECEDES则表示新触发器先执行
? Trigger_body表示触发器触发之后要执行的一个或多个语句,在内部可以引用涉及表的字段,OLD.col_name表示行数据被修改或删除之前的字段数据,NEW.col_name表示行数据被插入或修改之后的字段数据
? Drop trigger语句用来删除一个触发器
? If exists短语用来避免删除不存在的触发器时引发报错
?当你执行drop table时,表上的触发器也被drop掉了
mysql存储函数怎么解1、函数必须指定返回值,且参数默认为IN类型 。
2、存储过程没返回值,参数可以是 IN,OUT,IN OUT类型,有的人可能会理解成OUT 也算是返回值 。
3、调用方式:函数 select my_fun() ;过程 call my_pro( ) ;
4、DEMO
mysql 查询数据库中的存储过程与函数的语句方法一:
select
`name`
from
mysql.proc
where
db
=
'your_db_name'
and
`type`
=
'PROCEDURE'
//存储过程
select
`name`
from
mysql.proc
where
db
=
'your_db_name'
and
`type`
=
'FUNCTION'
//函数
方法二:
show
procedure
status;
//存储过程
SHOW
PROCEDURE
STATUS
WHERE
db='servant_591up'
show
function
status;
//函数
查看存储过程或函数的创建代码
show
create
procedure
proc_name;
show
create
function
func_name;
查看视图
SELECT
*
from
information_schema.VIEWS
//视图
SELECT
*
from
information_schema.TABLES
//表
查看触发器
方法一:
语法:SHOW
TRIGGERS
[FROM
db_name]
[LIKE
expr]
实例:SHOW
TRIGGERS\G
//触发器
方法二:
对INFORMATION_SCHEMA数据库中的TRIGGERS表查询
mysqlSELECT
*
FROM
triggers
T
WHERE
trigger_name=”mytrigger”
\G
怎么在mysql中查询已建立的存储过程1、首先先创建一个存储过程,代码如图,存储过程主要的功能是为表JingYan插入新的数据 。
推荐阅读
- 电商如何投诉破损,电商卖家如何投诉平台
- windows10安装什么c语言软件下载,win10用什么c语言编译器
- 为什么u盘已显示连接但未显示,接入u盘设备不显示
- 快手直播怎么切屏从开,快手直播怎么切换到手机屏幕
- mysql仓库表怎么做 mysql 库存
- vscode编译flutter真机运行,vscode frida
- a520m虚拟机,d2550 虚拟机
- 视频号怎么开直播录制,视频号如何录播
- mysql中外键怎么用 mysql中外键怎么设置