mysql 创建存储过程。

从表stugra中统计所有不及格学生数量。但是规定不可以用count函数,要用循环选择语句来写

/*先建表stugra*/
CREATE TABLE `stugra` (
`name` CHAR(20) DEFAULT NULL,
`mark` INT(3) DEFAULT NULL
) ENGINE=INNODB DEFAULT CHARSET=gbk

INSERT INTO stugra VALUES ('aa','59');
INSERT INTO stugra VALUES ('fa','11');
INSERT INTO stugra VALUES ('aga','99');
INSERT INTO stugra VALUES ('v','32');
INSERT INTO stugra VALUES ('da','77');
INSERT INTO stugra VALUES ('gf','44');
INSERT INTO stugra VALUES ('sadf','0');
INSERT INTO stugra VALUES ('eef','32');
INSERT INTO stugra VALUES ('ggg','60');
存储过程:
DELIMITER $$
DROP PROCEDURE IF EXISTS `pro_find`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_find`()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE a,b INT DEFAULT 0;

DECLARE cur1 CURSOR FOR SELECT mark FROM stugra;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO a;
IF NOT done THEN
IF a<60 THEN
SET b=b+1;
END IF;
ELSE
SELECT b;
END IF;
UNTIL done END REPEAT;
CLOSE cur1;
END$$

DELIMITER ;

没使用count ,使用了循环和选择,还使用了游标,没说不能使用游标吧!
温馨提示:内容为网友见解,仅供参考
无其他回答

mysql数据库如何创建存储过程?
1. 利用CREATE PROCEDURE语句定义无参存储过程。执行示例及结果展示:2. 通过CALL语调用无参存储过程。插入数据库表实例:3. 使用存储过程更新数据库表。循环插入数据库表实现:4. 创建包含循环的无参存储过程。有参存储过程操作:5. 创建带参数的存储过程。游标使用示例:6. 创建存储过程并运用游标处理...

mysql 存储过程
(1). 格式 MySQL存储过程创建的格式:CREATE PROCEDURE 过程名 ([过程参数[,...]])[特性 ...] 过程体 这里先举个例子:mysql> DELIMITER \/\/ mysql> CREATE PROCEDURE proc1(OUT s int)-> BEGIN -> SELECT COUNT(*) INTO s FROM user;-> END -> \/\/ mysql> DELIMITER ;注:(1)这里...

解决方法MySQL无法创建存储过程的问题mysql不能建存储过程
解决MySQL无法创建存储过程的问题,需要在MySQL配置文件中添加配置项,具体步骤如下:Step 1. 通过以下命令查看MySQL是否已打开binary log功能:SHOW VARIABLES LIKE ‘log_bin%’;如果结果中没有“log_bin”,则说明未开启binary log功能,无需进行以下配置。Step 2. 修改 MySQL 配置文件 my...

mysql创建存储过程时出现错误
1、打开mysql的客户端管理软件,找到想要创建存储过程的数据库,在【Stored Procedures】菜单上点击鼠标右键,选择【Create Stored Procedure】菜单项。2、点击之后,右侧会出现一个存储过程编辑界面,并且会有默认的创建存储过程的基本结构。3、在CREATE PROCEDURE后面的是存储过程的名字,可以改成喜欢的任何名...

mysql存储过程proc和procedure的区别?
创建存储过程使用CREATE PROCEDURE语句。例如,要创建名为myproc的简单存储过程,选择mytable表中的所有行,只需编写以下代码:一旦定义好存储过程,通过CALL语句即可调用它执行。简言之,在MySQL中,"proc"与"procedure"是等价的,二者用于表示存储过程,仅在缩写上有所不同。

mysql存储过程怎么写
] ] ) <过程体>[过程参数[,?] ] 格式[ IN | OUT | INOUT ] <参数名> <类型>语法说明如下:1) 过程名存储过程的名称,默认在当前数据库中创建。若需要在特定数据库中创建存储过程,则要在名称前面加上数据库的名称,即 db_name.sp_name。需要注意的是,名称应当尽量避免选取与 MySQL 内置...

mysql数据库存储过程怎么写
创建存储过程 mysql> delimiter $ -- delimiter $是设置 $为命令终止符号,代替默认的分号,因为分号有其他用处.mysql> create procedure sp_test(IN pi_id int, OUT po_name varchar(10))-> begin -> select * from test.tb_test;-> select tb_test.name into po_name from test.tb_test ...

mysql如何创建存储过程?
1用mysql客户端登入2 选择数据库 mysql>use test3 查询当前数据库有哪些存储过程 mysql>show procedure status where Db='test'4 创建一个简单的存储过程 mysql>create procedure hi() select 'hello';5 存储过程创建完毕,看怎么调用它 mysql>call hi();显示结果 mysql> call hi(); +---+ | hello |...

在MySQL中创建带有IN和OUT参数的存储过程的方法
MySQL教程4 MySQL8运算符、函数、存储过程及新增数据类型 17.之创建带有IN和OUT参数的存储过程 学习猿地

mysql中create procedure myproc什么意思
创建存储过程。存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

相似回答