简单记录一下自己学习存储过程用于以后复习
- 创建存储过程.
CREATE PROCEDURE queryById (IN p_id INTEGER) -- 创建简称名称是queryById,参数名是p_id
BEGIN -- 开始
DECLARE s int DEFAULT 0;
select s; -- 显示s 的值
set s=10; -- 给s赋值
END; -- 结束
2. 存储过程的参数
3种参数类型:
IN输入参数: 表示参数接收传进来的值,但是最终不会影响原值
OUT输出参数:在存储过程中修改的值会改变原值
INOUT输入输出参数:即可以接收传进来的值也能对原值进行修改
3.游标使用
– 定义游标,将变量的结果存入游标中
DECLARE cursorName CURSOR FOR SELECT aa.id,aa.mainid FROM uf_xsxdht_dt1 aa left join uf_xsxdht bb on aa.id = bb.mainid
– 游标终止条件,比如定义变量s = 1作为终止条件
DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
– 打开游标
OPEN cursorName;
– 将游标中的值赋值给变量,注意:变量名不要和返回的列名同名,变量顺序要和sql结果列的顺序一致
FETCH record INTO detail_id,mainid_id;
– 显示结果
select detail_id,mainid_id;
– 关闭游标
close cursorName;