• MySQL数据库8(二十六)存储过程


     

    存储过程

    存储过程的概念

    存储过程(stored procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,(效率比较高)用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象(针对SQL编程而言)。

    存储过程:简称过程

    与函数的区别

    相同点

    1、存储过程和函数的目的都是为了可重复地执行操作数据库的SQL语句的集合(代码复用)

    2、存储过程、函数都是一次编译,后续执行

    不同点

    1、标识符不同。函数的标识符为function,过程为procedure

    2、函数中有返回值,且必须返回,而过程没有返回值

    3、过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量

    4、函数可以在select语句中直接使用,而过程不能。函数是使用select调用,而过程不是

    存储过程操作

    创建过程

    基本语法:

    create procedure 过程名字([参数列表])

    beign

           过程体

    end

    结束符号

    如果过程体中只有一条指令,那么可以省略begin 和end

     

    过程基本上也可以完成函数对应的所有功能

     

    查看过程

    查看过程和查看函数完全一样,除了关键字。

    查看全部存储过程:show procedure status [like ‘pattern’];

    查看过程的创建语句:show create procedure 过程名字;

    调用过程

    过程,没有返回值,select不可能调用。

    调用过程有专门的语法:call 过程名([实参列表]);

      

    删除过程

    基本语法:drop procedure 过程名字;

    存储过程的形参类型

    存储过程也允许提供参数(形参和实参),存储过程的参数也和函数一样,需要指定其类型。

    但是存储过程对参数还有额外的要求:自己的参数分类

    in

    表示参数从外部传入到里面使用(过程内部使用):可以是直接数据也可以是保存数据的变量

    out

    表示参数是从过程里面把数据保存到变量中,交给外部使用:传入的必须是变量

    如果说传入的out变量本身在外部有值,那么在进入过程之后第一件事就是被清空设为NULL

    inout

    数据可以从外部传入到过程内部使用,同时内部操作之后,又会将数据返还给外部。

    参数使用基本语法:

    过程类型 变量名 数据类型;//in int_1 int;

     

    在执行之后,再次查看会话变量。

  • 相关阅读:
    Volatile vs. Interlocked vs. lock
    TransactionScope IsolationLevel 事务隔离级别
    C# LinqAggregate
    .net线程入门1进程
    删除centos更新后多余的内核
    网页中怎么导入css的3方式
    面试常用基础理论(三)
    面试常用基础理论(四)
    Jmeter基本概念
    面试常用基础理论(二)
  • 原文地址:https://www.cnblogs.com/sun-yanglu/p/9612958.html
Copyright © 2020-2023  润新知