欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

存储过程入门 博客分类: mysql mysql 

程序员文章站 2024-02-25 19:33:57
...
以下sql语法只适用于命令行,不适用于部分的客户端,不同的客户端语法可能有差异。
存储过程:
概念类似于函数,就是把一段代码分装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。
在封装的语句体里面,可以用if/else,case,while等控制结构。
可以进行sql编程。
在mysql中,存储过程和函数的区别:
1.名称不同 procedure() function()
2.存储过程没有返回值 return xxx;

查看现有的存储过程(命令行中\G可以横向显示)
show procedure status \G

删除存储过程
drop procedure 存储过程的名字

调用存储过程
call 存储过程名字

命令行中定义分隔符
delimiter $

第1个存储过程,体会“封装sql”
create procedure p1()
begin
  select * from stu;
end$
调用:
call p1()$

第2个存储过程,体会“参数”
create procedure p2(n int)
begin
  select * from stu where id > n;
end$
调用:
call p2(10)$

第3个存储过程,体会“控制结构”
create procedure p3(n int,j char(1))
begin
  if j='h' then
    select * from stu where id > n;
  else
    select * from stu where id < n;
  end if;
end$
调用:
call p3(10,h)$
call p3(10,k)$

第4个存储过程,体会“循环”
create procedure p4(n smallint,)
begin
  declare i int;
  declare s int;
  set i = 1;
  set s = 0;
  while i<= n do
    set s = s + i;
    set i = i + i;
  end while;
end$
调用:
call p4(100)$
相关标签: mysql