1、什么事存储过程
存储过程是一组为了完成特定功能的SQL语句集合。一个存储过程是一个可编程的函数,它在数据库中创建并保存,一般由SQL语句和一些特殊的控制结构组成。使用存储过程不仅可以提高数据库的访问效率,同时也可以提高数据库使用的安全性。
2、基本语法结构
delimiter $$;-- 声明结束符,因为存储过程中“;”不代表结束的意思,
你也可以自己定义其他为结束符,如:delimiter //;这样“//”就是结束符了。
CREATE PROCEDURE si0001.initData()
BEGIN -- 开始
-- sql逻辑;
END; -- 结束
$$; -- 最后的结束符 必须带着
注意:每行末尾都要有“;”;
3、游标
DECLARE per CURSOR FOR select xm from si0001.person ;-- 定义游标
4、查询结果复制给参数
DECLARE counts int DEFAULT 0;-- 定义参数
select count(id) into counts from si0001.person;-- 结果复制给参数
5、参数初始化
set countindex = 1;
6、示例 插入指定行数的数据
DROP PROCEDURE IF EXISTS test_p;-- 如果存在先删除
delimiter $$;
create procedure test_p(count int)
begin
declare id int (20);
declare i int;
set i = 0;
while i<count do
select nextval('id') INTO id;-- 生成随id
insert into test.person
(id, xm,,bz)
values
(id, '测试','测试') ; -- sql插入语句
set i=i+1;
end while;
end;
$$;