zoukankan      html  css  js  c++  java
  • 存储过程

    一、存储过程

    概念类似于函数,就是把一段代码封装起来。当执行这一段代码的时候可通过调用该存储过程来实现,在封装语句体里面可以使用if、else、case、while等控制结构的语句。可以进行SQL编程。

    存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。

    二、操作

    1、查询现有的存储过程: 

    show procedure status

    2、删除存储过程:

    drop procedure '存储过程名'

     

    3、创建存储过程

    DELIMITER $$
    
      CREATE PROCEDURE myproc(OUT s int)
        BEGIN
          SELECT COUNT(*) INTO s FROM students;
        END$$
    
    DELIMITER ;
    分隔符

    MySQL默认以";"为分隔符,如果没有声明分割符,则编译器会把存储过程当成SQL语句进行处理,因此编译过程会报错,所以要事先用“DELIMITER //”声明当前段分隔符,让编译器把两个"//"之间的内容当做存储过程的代码,不会执行这些代码;“DELIMITER ;”的意为把分隔符还原。

    参数

    存储过程根据需要可能会有输入、输出、输入输出参数,如果有多个参数用","分割开。MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT:

    • IN参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值
    • OUT:该值可在存储过程内部被改变,并可返回
    • INOUT:调用时指定,并且可被改变和返回

    过程体

    过程体的开始与结束使用BEGIN与END进行标识。

    参考链接:

    http://www.cnblogs.com/mark-chan/p/5384139.html

     视频链接:

    http://www.iqiyi.com/v_19rrme86c0.html#curid=516577900_118daadf09cdf2ff46f2b6576fafc3be

    例子:

  • 相关阅读:
    array_map()与array_shift()搭配使用 PK array_column()函数
    Educational Codeforces Round 8 D. Magic Numbers
    hdu 1171 Big Event in HDU
    hdu 2844 poj 1742 Coins
    hdu 3591 The trouble of Xiaoqian
    hdu 2079 选课时间
    hdu 2191 珍惜现在,感恩生活 多重背包入门题
    hdu 5429 Geometric Progression 高精度浮点数(java版本)
    【BZOJ】1002: [FJOI2007]轮状病毒 递推+高精度
    hdu::1002 A + B Problem II
  • 原文地址:https://www.cnblogs.com/yufeng218/p/7271658.html
Copyright © 2011-2022 走看看