zoukankan      html  css  js  c++  java
  • 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、可以在一个存储过程中调用另一个存储过程,但是不能删除另一个存储过程。

  • 相关阅读:
    kafka window环境搭建
    oracle 日期格式化和数据去重
    angular $http服务详解
    Spring框架之beans源码完全解析
    计算机经典书籍100本分享
    Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案
    Spring框架之事务源码完全解析
    TCP/IP网络协议层对应的RFC文档
    Spring源码深度解析之事务
    Spring框架之websocket源码完全解析
  • 原文地址:https://www.cnblogs.com/yuanfy/p/6714619.html
Copyright © 2011-2022 走看看