我是靠谱客的博主 温暖水壶,最近开发中收集的这篇文章主要介绍MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000‘ set message_text=‘错误信息‘MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000’ set message_text=‘错误信息’,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000’ set message_text=‘错误信息’

找了半天发现mysql好像不支持,记录一下问题解决思路:
signal sqlstate ‘HY000’ set message_text=‘错误信息’

示例

-- 学生表
create table student(
	id bigint(20) primary key AUTO_INCREMENT,
	name varchar(30) NOT NULL,
	age int(3) NOT NULL
);
-- 插入几条数据
insert into student(name,age) values ('Tony',11);
insert into student(name,age) values ('Tom',12);
insert into student(name,age) values ('Jack',13);
insert into student(name,age) values ('Angle',18);

定义存储过程

-- 用游标循环找到最大学生年龄
DROP PROCEDURE IF EXISTS callback;
CREATE PROCEDURE callback()
BEGIN -- out BEGIN
		DECLARE max_age bigint(20) default 0; -- 学生最大年龄
		DECLARE cur_age bigint(20) default 0; -- 存放当前学生age
		DECLARE done INT DEFAULT FALSE; -- 设置 游标终止标记
		DECLARE student_cursor CURSOR FOR select age from student ; -- 定义游标 dpid_cursor 根据指定客户id
		DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; -- 当找不到数据时设置标记为true 等同1
		OPEN student_cursor;		-- 打开游标
				student_loop:LOOP
				IF done=1 THEN
						LEAVE student_loop;
				END IF;						
				FETCH student_cursor INTO cur_age; -- 提取游标
				IF cur_age > max_age THEN
 						set max_age = cur_age;
				END IF;
				END LOOP student_loop;
		CLOSE student_cursor; -- 关闭游标
		signal sqlstate 'HY000' set message_text=max_age;
END;

调用 PROCEDURE

-- 调用
call callback();

结果

输出了最大学生年龄的值,用着还不错哈
在这里插入图片描述

参考

参考文章
在这里插入图片描述


写在最后

好久没有交作业了,把欠的作业补一补,嗷呜

天下英雄出我辈,一入江湖岁月催
我是「无间行者」,努力把实践过的解决方案分享给大家
如果这篇文章对你有用,一个赞、一个评论、一个关注,我都很开心
码字不易,给点鼓励吧,让我知道你在看

最后

以上就是温暖水壶为你收集整理的MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000‘ set message_text=‘错误信息‘MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000’ set message_text=‘错误信息’的全部内容,希望文章能够帮你解决MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000‘ set message_text=‘错误信息‘MySQL 如何在触发器中输出提示信息 && signal sqlstate ‘HY000’ set message_text=‘错误信息’所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部