MySQL存储过程的创建和使用
程序员文章站
2024-03-20 09:16:04
...
① 利用存储过程查找 Student表中所有人的记录
/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol;
CREATE PROCEDURE prol()
BEGIN
SELECT * FROM student;
END;
#调用存储过程
CALL prol;
在函数中
查看 prol:
调用结果:
② 利用存储过程查找 Student表中某学号的记录
/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol2;
CREATE PROCEDURE prol2(a CHAR(9))
BEGIN
SELECT * FROM student WHERE Sno = a;
END;
#调用存储过程
CALL prol2('200215121');
在函数中
查看 prol2:
调用结果:
③ 利用存储过程查找 SC表中某学号、某门课程的记录
/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol3;
CREATE PROCEDURE prol3(a CHAR(9), b CHAR(4))
BEGIN
SELECT * FROM sc WHERE Sno = a AND Cno = b;
END;
#调用存储过程
CALL prol3(200215121, 1);
在函数中
查看 prol3:
调用结果:
④ 创建一个存储过程 prol4,将课程中某门课程的学分修改为指定的值,其中某门课程的课程号、指定的值通过参数传递。并多次调用执行该存储过程来修改不同的课程的学分值。
/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol4;
CREATE PROCEDURE prol4(a CHAR(9), b INT)
BEGIN
UPDATE course SET Ccredit = b WHERE Cno = a;
END;
#调用存储过程
CALL prol4(1, 10);
在函数中
查看 prol4:
调用结果:
⑤ 创建一个带返回值的存储过程,返回某人的平均成绩
/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol5;
CREATE PROCEDURE prol5(IN a CHAR(10), OUT c DOUBLE)
BEGIN
SELECT AVG(Grade) FROM sc WHERE Sno = a;
END;
#调用存储过程
CALL prol5(200215121, @c);
在函数中
查看 prol5:
调用结果:
上一篇: MSBuild的简单介绍与使用
下一篇: 存储过程的创建及定时使用