MySQL中的三中循环 while . loop .repeat 求 1-n 的和第一种 while 循环 : /* while循环语法: while 条件 DO 循环体; end while; */ create procedure sum1(a int) begin declare sum int default 0; -- default 是指定该变量的默认值 declare i int default 1; while i<=a DO -- 循环开始 set sum=sum+i; set
使用的工具是Navicat for MySQL. 在MySQL中用函数实现在字符串一后面循环拼接n个字符串二 delimiter $$ drop function if exists fun_addStr; ),str2 ),num ) begin ; ) default ''; set result=str1; myloop:loop ; set result=concat(result,str2); if i>num then leave myloop; end if; end loop m
1.if else分支 mysql:用elseif Oracle:用elsif 可以用select直接查看获取的值或者一个变量. create procedure pd_testif2(in num int,out str varchar) begin then set str='一'; elseif num then set str='二'; end if; end; --调用 call pd_testif2(,@str); select @str; 执行结果:一
mysql 操作同样有循环语句操作,三种标准循环模式:while, loop,repeat, 外加一种非标准循环:goto [在c或c#中貌似出现过类型循环但是一般不建议用!] 一般格式为:delimiter // 定义结束符 drop procedure if exists wk; 假如存在则删除create procedure name([in | out | input] 参数) begin while-loop-repeat-mysql-code end // delimiter ; 还
/*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server Version : 50505Source Host : localhost:3306Source Database : kamanage Target Server Type : MYSQLTarget Server Version : 50505File Encoding : 65001 Date: 2018-09-11 13:50:36*/ S
CREATE PROCEDURE questionProc() BEGIN declare pgId ); declare pGuid varchar(); -- 定义游标卡尺 declare done boolean DEFAULT TRUE; -- 获取数据到游标卡尺 DECLARE cur CURSOR FOR select id,qid from tb_question; -- 打开游标卡尺 OPEN cur; -- 开始循环 WHILE done do FETCH cur INTO p
双重循环插入 DELIMITER ;; CREATE PROCEDURE test_insert() BEGIN DECLARE a INT DEFAULT 1; DECLARE b TINYINT DEFAULT 1; WHILE (a <= 100) DO -- repeat SET a = a + 1; -- select a; WHILE (b <=20) DO insert into school_sp_mj(school_id,mojor_id,status) values(a,b
要求插入的数据有一定的规律 新建实例列表 CREATE TABLE users ( userId ) NOT NULL, userName ) NOT NULL, Serves ) NOT NULL, PRIMARY KEY (userId) ); 创建存储过程 例如:随机写入5000条数据 begin ; start transaction; do ); ; end while; commit; end 设置随机函数取前几条 select * from users order by rand(
BEGIN ); DECLARE done INT DEFAULT FALSE; DECLARE cursor_rule CURSOR FOR SELECT s.id FROM d_menu_type s ; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; OPEN cursor_rule; l : LOOP FETCH cursor_rule INTO menu_id; IF done THEN LEAVE l; END IF;