zoukankan      html  css  js  c++  java
  • 7.2存储函数

    学会了存储过程,存储函数就很简单了。

    概念上,存储函数比存储过程多了个返回值。使用方式和以前学过的系统函数相同,如:year('2020-12-01')。

    语法上,少许修改,多了一点关于返回值的东西。

    例:

     1 delimiter ~
     2 drop function if exists get_one~
     3 create function get_one(a varchar(20),b varchar(20))
     4 returns varchar(50)
     5 DETERMINISTIC
     6  begin
     7   declare c varchar(50);
     8   set c=concat(a,' and ',b,'are good friends.');
     9   return c;
    10  end~
    11 delimiter ;

    说明:

    1、以上代码与存储过程相似,差不多把所有procedure替换为function。

    2、第5行DETERMINISTIC用于声明该存储函数是确定性的,即相同输入总是相同输出,不会对可能存在的主从服务器造成不一致的影响,以避免1418错误。

    3、第4行表示该存储过程返回一个字符串,第9行给出这个字符串是什么。

    调用:

     另例:在数据库d1中,输入姓名,获得该学生的最高分:

    delimiter ~
    drop function if exists get_one~
    create function get_one(axm varchar(20))
    returns int
    DETERMINISTIC
     begin
      declare axh int;
      declare acj int;
      select xh into axh from t1 where xm=axm;
      select max(cj) into acj from t2 where xh=axh;
      return acj;
     end~
    delimiter ;

    运行结果:

     存储函数的修改删除,和存储过程类似。

  • 相关阅读:
    配置文件
    ajax
    网线颜色排序
    cs程序添加初始化加载
    后台设置gridview不换行
    js 经典正则判断 一个字符串是否包含另一个字符串
    窗体关闭事件
    oracle根据视图删除表
    (字符串)哈希
    (字符串)哈希
  • 原文地址:https://www.cnblogs.com/wanjinliu/p/15729952.html
Copyright © 2011-2022 走看看