数据库函数

#定义函数:

delimiter //   #定义结束符
create function myadd(a int , b int)
returns int
begin
declare c int default 0;
set c = a + b;
return c;
end
//
delimiter ;  #将结束符定义回来
select myadd(3,4);

#会话变量
set @b = myadd(3,4);
select @b;

#if的使用

delimiter //
create function myfunc(a int )
returns varchar(10)
begin
declare c varchar(10) default '';
if(a>0) then set c = '大于0';
elseif(a=0) then set c = '等于0';
else set c = '等于0';
end if;
return c;
end
//
delimiter ;
select myfunc(3);

#删除函数

drop function if exists myfunc;

#case

1.    delimiter //
  create function myfun(a int)
  returns varchar(10)
  begin
    declare c varchar(10) default '';
    case when a >0 then set c = 'dayu0';
    when a =0 then set c = 'dengyu0';
    else set c = 'xiaoyu0';
    end case;
    return c;
  end //
  delimiter ;
drop function if exists myfun;
2. delimiter //
  create function myfun(a int)
  returns varchar(10)
  begin
    declare c varchar(10) default '';
    case a when 1 then set c = 'dayu0';
    when 2 then set c = 'dengyu0';
    else set c = 'xiaoyu0';
    end case;
    return c;
  end //
  delimiter ;

#while do

delimiter //
create function myfun(a int)
returns int
begin
  declare c int default 0;
  declare i int default 1;
  out_label :BEGIN
  while 1=1 do
  set c= c+i;
  set i = i+1;
  if(i>=a) then leave out_label;
  end if;
  end while;

  END out_label;
  return c;
end //
delimiter ;

posted @ 2018-03-29 15:33  Lune-Qiu  阅读(173)  评论(0编辑  收藏  举报