这几天才开始接触存储过程,记一下刚刚写的一个实例,感觉比较有代表性;
create procedure JOB(in pro_in varchar(64)) ---创建一个名为JOB的存储过程,有一个输入参数pro_in
begin ---标志性的begin end,不过目前我还没用as go ,等有所接触再在后面记录两者的使用
delete from temptable ---这是创建的临时表,在插入数据之前先清空临时表;
insert into temptable(业务员,业务量) ---insert select 语句,将查询到的员工名和销售量插入临时表
select 员工名,count(*)from 销售报价表
where date_format(报价时间,'%Y')=pro_in ---where语句,运用到输入参数
group by 员工名;
end;
小笔记:
declare语句只用申明OUT参数;
select,insert(先查询,后插入)模式可能会报错不能一次插入多行的问题,使用插入所查询语句的模式(insert,select)可以解决这个问题;