扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在MySQL存储过程的语句中有三个标准的循环方式:WHILE循环,LOOP循环以及REPEAT循环。还有一种非标准的循环方式:GOTO,不过这种循环方式最好别用,很容易引起程序的混乱,在这里就不错具体介绍了。
顺城网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联建站从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
虽然没分行,但程序应该没错,问题是这个程序应该用在SQL Server之类的数据库里,MySQL不支持@i这样的自定义变量。如果你要在MySQL中使用的话,需要用存储过程等方式去实现。
while是满足条件才执行循环,repeat是满足条件退出循环;while在首次循环执行之前就判断条件,最少执行0次,repeat是在首次执行循环之后才判断条件,循环至少执行一次。
1、END 这样就跳出循环了,也可以换成RETURN,RETURN会结束整个批查询的执行,BREAK仅仅跳出循环,继续执行后边的语句。
2、DECLARE CONTINUE HANDLER FOR SQLSTATE 02000 SET DONE = 1;这种语句是异常捕获内容,在mysql中都是使用HANDLER 来捕获异常的。
3、结束标志是先通过一个FETCH INTO ,然后判断游标中是否还存在内容,如果没有内容就会执行 SET ending = TRUE; (定义代码中的),然后通过ending的判断即可跳出循环。
4、本文实例讲述了MySQL实现创建存储过程并循环添加记录的方法。
1、第一步,编写存储过程的整体结构,定义变量,见下图,转到下面的步骤。第二步,完成上述步骤后,定义游标,具体的代码见下图,转到下面的步骤。
2、没有多循环一次,只是循环结束后,循环控制变量会是终值的下一个,但是并没有多执行一次循环体。
3、传入id,输出name和sex的存储过程,这里同个id有多条数据,所以需要用到游标。
4、IF vIndex = 0 THEN -- 参数中没有逗号,直接返回. RETURN vResult; END IF; -- 初始化情况,前一个逗号不存在. SET vPrevIndex = 0; -- 循环处理。
5、像这种带有逻辑性的处理,需要写存储过程,简单的sql语句不支持这种业务处理。
6、所以要事先用DELIMITER关键字申明当前段分隔符,这样MySQL才会将当做存储过程中的代码,不会执行这些代码,用完了之后要把分隔符还原。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流