• MySQL存储过程


    1、什么是存储过程:

        a.存储过程,是SQL语句和控制语句的预编译集合,以一个名称存储并作为一个处理单元

        b.存储过程存储在数据库内,可以由运用程序调用执行,允许用户声明变量以及流程控制,存储过程可以接受参数,可以接受输入类型参数,

                     也可以接收输出参数,并且可以存在多个返回值

    2、为什么要使用存储过程:

        a. 存储过程就是有业务逻辑和流程的集合, 可以在存储过程中创建表,更新数据, 删除等等。

        b.通过把处理封装在单元中,简化复杂的操作由于不要求反复建立一系列处理步骤,这保证了数据的完整性。

          c.相当于java的封装,把必要的程序封装起来,必要时只需要掉用封装后的程序,保证在向数据库插入数据时的安全性和一致性,

                    要更改插入的位置属性(比如字段)时只需要,在存储过程里面进行更改。

    3、如何创建存储过程:

    3.1创建语法:

    create procedure 存储过程名(参数类型 参数名 数据类型,...,参数类型 参数名 数据类型)
    begin
            一组合法的SQL语句组合;
            select...;
            update...;
            insert...;
            delete...;
    end
    create procedure sp_name
    @[参数名] [参数类型] [数据类型],@[参数名] [参数类型] [数据类型]
    begin
         组合法的SQL语句组合;
           select...;
           update...;
           insert...;
           delete...;
    end 
    

    注:如果存储过程体只有一条语句,则begin....end可以省略

      delimiter:表示存储过程的结束标志

    3.2、参数类型:

     in     表示该参数作为输入,也就是该参数必须在调用存储过程时指定值
     out 表示该参数作为输出,也就是该参数作为存储过程的返回值
    inout 表示该参数既可以作为输入值也可以作为输出值,也就是该参数既要传入值又要返回值

    3.3存储过程的调用:

     call 存储过程名(实参类型);
    

      

    set @形参名称1 = 1250 ; --给形参传入确切值1250
    ...
    set @形参名称n = 1260 ;
    call 存储过程名(形参名称1,...,形参名称n);
    select   查询的结果1,..,查询的结果n; --查询的结果一般是我们定义成out,inout的参数类型变量
    

    4、存储过程案例  

    4.1 emp表中数据

    4.2案例1:

      定义一个没有形参的存储过程,并向emp表中插入数据

    delimiter $ --定义结束标识符$
    CREATE PROCEDURE INSERT1()
    BEGIN
    	insert INTO emp(empno,ENAME) VALUES (4397,'marry');
    END $
    
    CALL INSERT4() $
    

     

    4.2案例1:

  • 相关阅读:
    div 内容自动换行
    发邮件
    asp gridview
    授权 注册
    asp grid 增加和删除行数据
    计算两个日期相差的天数
    sql 删除数据库表 外键
    装完Centos7提示Initial setup of CentOS Linux 7 (core)(转载)
    如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
    centos7 安装拼音输入法(转载)
  • 原文地址:https://www.cnblogs.com/ibear/p/12705956.html
Copyright © 2020-2023  润新知