• MySql 存储过程一--基本语法及参数介绍


    存储过程是为了完成特定功能的SQL语句集,经过第一次编译后,之后调用都不用再进行编译

    • 创建:
    create procedure procedure_name ([parameter list])
    [characteristic ...]
    begin routine_body
    end

    其中,

    procedure_name: 为存储过程名称;

    parameter list: 为参数列表,可以包含零个或多个参数,参数与参数之间逗号(,)分隔。

                            每个参数的形式为:参数类型  参数名称  数据类型

                            参数类型:in(输入参数) out(输出参数) inout(输入输出参数,调用时被指定,可以被修改和返回)

    characteristic:该项可选,表示存储过程特性,有如下取值:

                         1)language sql: 存储过程由SQL语句组成,目前sql是language特性的唯一值;

                         2)[not] deterministic: 表示结果是否为确定的值,即相同输入是否一定能得到相同输出,默认为not deterministic;

                         3)contains sql(存储过程包含sql语句,但不包含读写数据的语句)| no sql(存储过程不包含sql语句)| reads sql data(存储过程包含读数据的语句)|modifies sql data(存储过程包含读写数据的语句)

                         4)sql security {definer(只有定义者可以执行该存储过程)|invoker(拥有权限的调用者可以执行)} ,默认definer

                         5)comment 'string'(注释,描述存储过程)

    routine_body: 程序体。  

                       

    • 调用:
    call procedure_name(parameter list);
    
    • 删除:
    drop procedure procedure_name;
    

      

    PS:

    1、创建存储过程前,要先指定存储过程所属的数据库;

    2、查询某个数据库所包含的存储过程(设数据库名称为factory,包含一个名为sum_app的存储过程):

    3、查询存储过程创建语句:

    4、可以在一个存储过程中调用另一个存储过程,但是不能删除另一个存储过程。

  • 相关阅读:
    牛牛的揠苗助长(二分)
    树型DP简单入门
    Rational Ratio(一道思维题)
    Tima goes to Xentopia(条件最短路)
    中国剩余定理
    求解逆元的三种方法
    samba 基本配置及自定义控制
    vue之虚拟DOM、diff算法
    vue-cli3构建ts项目
    VMware+node+nginx+vue
  • 原文地址:https://www.cnblogs.com/yuanfy/p/6714619.html
Copyright © 2020-2023  润新知