mysql存储函数需要定义吗_MySQL 存储过程和存储函数 的定义条件和处理程序

#三。定义条件和处理程序

#mysql 存储函数和过程可以将错误 变成我们想要的处理结果分2步骤

#1.定义错误条件 语法:DECLARE 条件名字 CONDITION for 错误编码

#2. 定义错误执行程序: DECLARE 类型(EXIT,CONTINUE)HANDLER for 条件名字 set @info='定义的含义';

CREATE TABLE contest(s1 int,PRIMARY KEY(s1));

CREATE PROCEDURE myprocedure2()

BEGIN

DECLARE myfirstcon CONDITION for 1062;

DECLARE CONTINUE HANDLER for myfirstcon set @info='主键冲突';

INSERT INTO contest VALUES(1);

INSERT INTO contest VALUES(1);

set @info='主键冲突1';

end;

call myprocedure2();

SELECT @info

# @info为用户变量

#备注:

-- 1. 局部变量:局部变量一般用在sql语句块中,比如存储过程的begin/end。

--

--   2. 用户变量:用户变量的作用域要比局部变量要广。用户变量可以作用于当前整个连接,但是当当前连接断开后,其所定义的用户变量都会消失。

--

--   3. 会话变量:服务器为每个连接的客户端维护一系列会话变量。

--

--   4. 全局变量:全局变量影响服务器整体操作。当服务器启动时,它将所有全局变量初始化为默认值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值