zoukankan      html  css  js  c++  java
  • mysql的存储过程与自定义函数

    一、函数

    创建格式:

    CREATE FUNCTION sp_name ([func_parameter[,...]])
        RETURNS type
        [characteristic ...] routine_body
    func_parameter:
        param_name type
     

    例子:
    DELIMITER //
    CREATE FUNCTION Myf() RETURNS VARCHAR(50) 
    BEGIN
    RETURN '11';
    END //
    注意:"DELIMITER //" 意思是定义 "//"为批处理结束分隔符,没有这个语句会报错

    调用: select Myf();

    总结:函数的参数前不能有修饰符如,IN,OUT(不同于存储过程),调用时可直接调用,像系统函数一般使用。

    二、存储过程

    创建格式:

    CREATE PROCEDURE sp_name ([proc_parameter[,...]])
        [characteristic ...] routine_body
    proc_parameter:
        [ IN | OUT | INOUT ] param_name type
    IN用于说明是传入参数,OUT为返还结果的参数(即开始时没有值,调用后有值),INOUT则充当两者的角色
    例子:
    DELIMITER //
    CREATE PROCEDURE mySP(a INT(2),OUT b INT(2))
    BEGIN
    SET b=110;
    SELECT a+b;
    END //
    调用:
    CALL mySP(1,@b);
    SELECT @b;
    总结:IN,OUT,INOUT用于指定参数的类型,OUT参数的赋值使用set操作符(与局部变量赋值类似),调用时使用call,out参数要有@修饰。
     
    要查看自定义的Function和Procedure,则可查看系统库mysql的proc表,那里收集了所有用户定义的函数和存储过程
  • 相关阅读:
    DTD
    JVM-学习笔记持续更新
    MySQL用limit代替SQL Server :top
    正则表达式&&Java文本复杂操作
    JVM核心——JVM运行和类加载全过程
    java动态编译——tools.jar问题
    java-基础
    github for windows 简单的客户端托管代码
    【javascript dom读书笔记】 第九章 CSS-DOM
    【精通css读书笔记】 第八章 布局
  • 原文地址:https://www.cnblogs.com/tangyue/p/3684946.html
Copyright © 2011-2022 走看看