DELIMITER //
CREATE PROCEDURE InsertStudent(IN p_userName VARCHAR(100), IN p_introduce TEXT)
BEGIN
-- 声明变量用于检查userName是否以指定姓氏开头
DECLARE invalid_prefix VARCHAR(1) DEFAULT 'N'; -- 假设初始时不是无效前缀
-- 检查userName是否以'张'、'王'、'李'、'赵'开头
IF LEFT(p_userName, 1) = '张' OR LEFT(p_userName, 1) = '王'
OR LEFT(p_userName, 1) = '李' OR LEFT(p_userName, 1) = '赵' THEN
SET invalid_prefix = 'Y'; -- 设置为无效前缀
END IF;
-- 如果userName不是以这些姓氏开头,则插入数据
IF invalid_prefix = 'N' THEN
INSERT INTO student (userName, introduce)
VALUES (p_userName, p_introduce);
ELSE
-- 如果userName以这些姓氏开头,则抛出错误或进行其他处理
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '用户名不能以张、王、李、赵开头';
END IF;
END //
DELIMITER ;
mysql查询
最新推荐文章于 2024-09-10 10:21:38 发布