美文网首页
2018-11-20 MySQL过程与存储过程

2018-11-20 MySQL过程与存储过程

作者: tomeetyou | 来源:发表于2018-11-20 09:11 被阅读0次

    MYSQL函数

    UDF

    {

            用户自定义函数

    }

    自定义函数的两个必要条件

    {

    1.参数

    2.返回值

    函数可以返回任意类型的值,同样可以接收这些

    类型的参数

    CREATE FUNCTION function_name

    RETURNS

    {STRING|INTEGER|REAL|DECIMAL}

    routine_body      //函数体

    }

    关于函数体

    (1)函数体有合法的SQL语句构成;

    (2)函数体可以是简单的SELECT或INSERT语句;

    (3)函数体如果为符合结构则使用BEGIN...END语句;

    (4)复合结构可以包含声明,循环,控制结构;

    CREATE FUNCTION f1()

    RETURNS VARCHAR(30)

    RETURN DATE_FORMAT(NOW(),'%Y年%m月%D日 %H点:%i分:%S秒');

    CREATE FUNCTION av(a INT,b INT)

    RETURNS INT

    RETURN ((a+b)

    DROP FUNCTION  function_name

    MYSQL储存过程

    存储过程是SQL语句和控制语句的预编译集合,以一个名称

    存储并作为一个单元处理

    存储过程的优点

    .增强SQL语句的功能和灵活性

    .实现较快的执行速度

    .减少网络流量

    MYSQL创建存储过程

    创建一个简单的,没有参数的存储过程

    CREATE PROCEDURE sp1()

    SELECT VERSION();

    DELIMITER

    CREATE PROCEDURE removeUserById(IN p_id INT UNSIGNED)

    BEGIN

    DELETE FROM account_book WHERE account_id = p_id;

    END

    CREATE PROCEDURE removeUserAndReturnUserNums(

    IN p_id INT UNSIGNED,OUT userNums INT UNSIGNED)

    BEGIN

    DELETE FROM account_book WHERE account_id = p_id;

    SELECT count(id) FROM users INTO userNums;

    END

    相关文章

      网友评论

          本文标题:2018-11-20 MySQL过程与存储过程

          本文链接:https://www.haomeiwen.com/subject/drctqqtx.html