MySQL自定义函数和存储过程

-- 创建自定义函数
CREATE FUNCTION StuNameById()
RETURNS VARCHAR(45)
RETURN
(SELECT name FROM tb_students_info
WHERE id=1);

-- 使用自定义函数
SELECT StuNameById();

-- 删除自定义函数
DROP FUNCTION StuNameById;

-- 创建不带参数的存储过程
DELIMITER //
CREATE PROCEDURE ShowStuScore()
BEGIN
SELECT * FROM tb_students_score;
END //

-- 调用不带参数的存储过程
CALL ShowStuScore();

-- 创建带参数的存储过程
DELIMITER //
CREATE PROCEDURE GetScoreByStu
(IN name VARCHAR(30))
BEGIN
SELECT student_score FROM tb_students_score
WHERE student_name=name;
END //

-- 调用带参数的存储过程
CALL GetScoreByStu('Green');

-- 删除存储过程
DELIMITER ;
DROP PROCEDURE GetScoreByStu;