欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL存储过程的创建和使用

程序员文章站 2024-03-20 09:16:04
...

① 利用存储过程查找 Student表中所有人的记录

/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol;
CREATE PROCEDURE prol()
	BEGIN
		SELECT * FROM student;
	END;

#调用存储过程
CALL prol;

 
在函数中
        MySQL存储过程的创建和使用
查看 prol:
MySQL存储过程的创建和使用
 
调用结果:
MySQL存储过程的创建和使用

 
② 利用存储过程查找 Student表中某学号的记录

/* 创建存储过程的时候,END后只加一个分号 */
DROP PROCEDURE IF EXISTS prol2;
CREATE PROCEDURE prol2(a CHAR(9))
	BEGIN
		SELECT * FROM student WHERE Sno = a;
	END;

#调用存储过程
CALL prol2('200215121');

 
在函数中
        MySQL存储过程的创建和使用
查看 prol2:
MySQL存储过程的创建和使用
 
调用结果:
MySQL存储过程的创建和使用

 
③ 利用存储过程查找 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);

 
在函数中
        MySQL存储过程的创建和使用
查看 prol3:
MySQL存储过程的创建和使用
 
调用结果:
MySQL存储过程的创建和使用

 
④ 创建一个存储过程 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);

 
在函数中
        MySQL存储过程的创建和使用
查看 prol4:
MySQL存储过程的创建和使用
 
调用结果:
MySQL存储过程的创建和使用

 
⑤ 创建一个带返回值的存储过程,返回某人的平均成绩

/* 创建存储过程的时候,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);

 
在函数中
        MySQL存储过程的创建和使用
查看 prol5:
MySQL存储过程的创建和使用
 
调用结果:
MySQL存储过程的创建和使用