SQL-存储过程_参数
参数类表 = 参数类型+参数名字+参数数据类型
参数类型 :
-
in / 输入参数 (默认)
-
out / 输出参数
定义的参数只能在过程体内部赋值,可以把某个值传递回调用它的参数
在存储过程外边声明用户变量 ,在将参数放入调用函数的out参数位置
-
inout / 输入输出类型
即是输入参数,也是输出参数
sql-流程控制
if 条件1 then 条件1真执行sql语句; elseif 条件2 then 条件2真执行sql语句; else 其他情况执行sql语句; end if; -- -- -- -- -- -- case 表达式 when 表达式结果1 then 条件1真执行sql语句; when 表达式结果1 then 条件2真执行sql语句; when 表达式结果1 then 条件3真执行sql语句; else 其他情况执行sql语句; end case;
?
SQL-循环控制
-- while语句 [start_while:] while 判断条件 do sql语句体; end while; [end_while;] -- repeat语句 repeat sql语句; until 条件 end repeat; -- loop语句 test_loop: loop --test_loop 标签名 名字自定义 ,开始标签与结束标签相同 sql语句; -- sql语句中通常包含 LEAVE test_loop / 离开 ; end loop test_loop;
游标-CURSOR
游动的标识符,一般与循环一起使用,游标也是一张虚拟的表。
--声明一个变量来声明 是否还有结果集 / 有 0 ; 无 1 DECLARE done INT DEFAULT 0; --变量声明在游标之前 --声明游标变量 DECLARE cur CURSOR FOR select语句; --声明一个事件处理,来设置是否还有结果集 DECLARE CONTINUE HANDLER FOR SQLSTATE ‘02000‘ SET done = 1; -- 在游标声明之后声明 -- 打开游标 OPEN cur; -- 抓取数据 FETCH cur into 自定义数据; --FETCH 后 游标指示位置自动向下移动一位 -- 配合REPEAT循环语句使用 / 优点 先循环一次
其他
-
sql中给变量赋值必须要用 set
-
SQL随机函数 RAND()
-
SQL向下取整 FLOOR()