首页 > 其他 > 详细

9. 存储过程和函数

时间:2020-09-04 11:32:03      阅读:32      评论:0      收藏:0      [点我收藏+]

创建存储过程

delimiter &&
create procedure pro_name (in id int, out count_num int)
  reads sql date 
  begin 
  select count(*) from t_book where book_type = id;
  end 
&&
delimiter ;

创建存储函数

    delimiter &&
    create funtion func_book (book_id int)
      returns varchar(20)
      begin
        return (select book_name from t_book where id = book_id)
      end
    && 
    delimiter ;

变量

  • 定义变量
    • declare 变量名 类型 [default 值]
  • 为变量赋值
    • set 变量名 = 值;
    • select 字段 into 变量名 from 表名 where 条件

游标

  • 声明游标
    • declare 游标名 cursor for select语句;
  • 打开游标
    • open 游标名;
  • 使用游标
    • fetch 游标名 into 变量名;
  • 关闭游标
    • close 游标名;

流程控制语句

if语句

    if 条件 then 执行语句
      [elseif 条件 then 执行语句]
      ...
      [else 执行语句]
    end if 

case语句

case 值
  when 值 then 执行语句;
  ...
  [else 执行语句]
 end case 

loop,leave语句

[标签:] loop 
  执行语句;
  [leave 标签]
end loop [标签];

iterate语句

跳出本次循环

iterate 标签;

repeat语句

[标签:] repeat
  执行语句;
  until 条件
end repeat [标签];

while语句

[标签:] while 条件 do
  执行语句;
end while [标签]

调用存储过程和函数

  • 调用存储过程
    • call 存储过程名(参数列表);
  • 调用函数
    • 函数名(参数列表);

查看存储过程和函数

  • show status 语句查看存储过程和函数的状态
    • show status like ‘存储名或函数名‘;
  • show create语句查看存储过程和函数的定义
    • show create ‘存储名或函数名‘;

修改存储过程或函数

alter 存储过程或函数的名称 .......

删除存储过程或函数

drop 存储过程或函数的名称;

9. 存储过程和函数

原文:https://www.cnblogs.com/pensieve/p/13612488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!