• 一千行MySQL学习笔记(十一)


    --// 存储函数,自定义函数 ----------

    -- 新建
    CREATE FUNCTION function_name (参数列表) RETURNS 返回值类型
    函数体

    - 函数名,应该合法的标识符,并且不应该与已有的关键字冲突。
    - 一个函数应该属于某个数据库,可以使用db_name.funciton_name的形式执行当前函数所属数据库,否则为当前数据库。
    - 参数部分,由"参数名"和"参数类型"组成。多个参数用逗号隔开。
    - 函数体由多条可用的mysql语句,流程控制,变量声明等语句构成。
    - 多条语句应该使用 begin...end 语句块包含。
    - 一定要有 return 返回值语句。

    -- 删除
    DROP FUNCTION [IF EXISTS] function_name;

    -- 查看
    SHOW FUNCTION STATUS LIKE 'partten'
    SHOW CREATE FUNCTION function_name;

    -- 修改
    ALTER FUNCTION function_name 函数选项


    --// 存储过程,自定义功能 ----------

    -- 定义
    存储存储过程 是一段代码(过程),存储在数据库中的sql组成。
    一个存储过程通常用于完成一段业务逻辑,例如报名,交班费,订单入库等。
    而一个函数通常专注与某个功能,视为其他程序服务的,需要在其他语句中调用函数才可以,而存储过程不能被其他调用,是自己执行 通过call执行。

    -- 创建
    CREATE PROCEDURE sp_name (参数列表)
    过程体

    参数列表:不同于函数的参数列表,需要指明参数类型
    IN,表示输入型
    OUT,表示输出型
    INOUT,表示混合型

    注意,没有返回值。

    /* 存储过程 */ ------------------
    存储过程是一段可执行性代码的集合。相比函数,更偏向于业务逻辑。
    调用:CALL 过程名
    -- 注意
    - 没有返回值。
    - 只能单独调用,不可夹杂在其他语句中

    -- 参数
    IN|OUT|INOUT 参数名 数据类型
    IN 输入:在调用过程中,将数据输入到过程体内部的参数
    OUT 输出:在调用过程中,将过程体处理完的结果返回到客户端
    INOUT 输入输出:既可输入,也可输出

    -- 语法
    CREATE PROCEDURE 过程名 (参数列表)
    BEGIN
    过程体
    END

    (未完待续)

                (作者:Shocker 来源:http://www.cnblogs.com/shockerli/p/1000-plus-line-mysql-notes.html)

  • 相关阅读:
    Angular实现数据绑定,它实现原理是什么?
    用angular实时获取本地localStorage数据,实现一个模拟后台数据登入的效果
    巨坑
    Hack 语言学习/参考---1.3 Summary
    Hack 语言学习/参考---1.2 Hack Background
    Hack 语言学习/参考---1.1 What is Hack?
    Hack 语言学习/参考---1.Hack 语言
    HHVM Installation and Configuration(HHVM 安装及配置)
    What is HHVM?
    Facebook HHVM 和 Hack 手册 --- 2. HHVM能做什么
  • 原文地址:https://www.cnblogs.com/Grace7582/p/4743640.html
Copyright © 2020-2023  润新知