存储过程

第一步 创建存储过程 

  CREATE procedure 存储过程名字(参数,参数)

  begin

  select id from ab_group_address_book;//代码

  end

  存储过程的参数分为三种 

  输入(in),输出(out),输入输出(inout),默认是输入参数

  如果存储过程中就一条语句 begin和end 可以省略不写 

第二步调用 存储过程 

  call 存储过程名字()

案例

1 查询某个表某的数据

 

  CREATE procedure name()
  begin
  select id from ab_group_address_book;
  END

  调用

  call name()

2 存储过程传参

  判断传入的值是  是就查询>100的数据 不是就查询<=100的数据

  CREATE procedure name(ida INT)
  begin
  if ida=100 THEN
  select id from ca where id>100;
  ELSE
  select id from ca where id<=100;
  end if;
  END

  call name(100)

第三步删除存储过程

dr drop procedure 存储过程名

第四步创建复制存储过程

declare声明局部变量

  set @name=''

  select @name;

  语法 :declare 变量名 数字类型 【value】

  通过 select 字段 into 变量或 set给变量复制

  变量名不可和表里的字段名一样

案例 1 计算1 到n的和

  CREATE procedure name(ida INT)
    begin
      DECLARE i int DEFAULT 1;
      DECLARE s int DEFAULT 0;
    while i<=ida do
      set s=s+i;
      set i=i+1;
    end while;
    select s;
  END

  call name(100)

案例 2 输出参数的存储过程

  变量前只需加一个@符合

  使用变量来输入输出

  CREATE procedure a(in i INT,out j int )
  begin
    set j=i*i;
  END
set @j=0;call a(5,@j);select @j;

案例3 输入 输出参数

  使用变量来输入输出

  CREATE procedure name(inout j int )
  begin
    set j=j*j;
    select j;
  END
  set @j=5;call name(@j);

 

posted @ 2018-01-08 16:24  zhouwen周文  阅读(140)  评论(0)    收藏  举报