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

    存储过程就是为了完成某个数据库中的特定功能而编写的语句集

    1.其中存储过程名不能超过128个字。每个存储过程中最多设定1024个参数
    2.传回值的区别:output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中。
    3.查看存储过程:存储过程的查看可以通过如下语句实现:SHOW PROCEDURE STATUS  WHERE db='数据库名';或SHOW CREATE PROCEDURE 数据库名.存储过程名;
    4.删除存储过程:存储过程的删除可以通过如下语句实现:DROP PROCEDURE 存储过程名
    5.存储过程优点:
            1、存储过程增强了SQL语言灵活性。存储过程可以使用控制语句编写,可以完成复杂的判断和较复杂的运算,有很强的灵活性;
            2、减少网络流量,降低了网络负载。存储过程在数据库服务器端创建成功后,只需要调用该存储过程即可,而传统的做法是每次都将大量的SQL语句通过网络发送至数据库服务器端然后再执行;
            3、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
            4、系统管理员通过设定某一存储过程的权限实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

    #这是一个添加的存储过程
    CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_data`(IN u_real_name VARCHAR(8), IN u_age INT(3), OUT u_id INT(11))
    BEGIN     
    INSERT INTO USER (real_name, age)VALUES(u_real_name, u_age);    
    SET u_id=LAST_INSERT_ID(); #或SET u_id=@@IDENTITY;  
    END$$
    DELIMITER ;
    #创建后的简单调用
    CALL insert_data('小明',21, @u_id);  #CALL 调用存储过程 完成添加效果

    我不作恶

    但有权拒绝为善

    我不赞同

    但是我捍卫你不为善的权力

  • 相关阅读:
    (Java实现) 洛谷 P1603 斯诺登的密码
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1036 选数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1012 拼数
    (Java实现) 洛谷 P1028 数的计算
    (Java实现) 洛谷 P1028 数的计算
    (Java实现) 洛谷 P1553 数字反转(升级版)
    8.4 确定两个日期之间的月份数或年数
    (Java实现) 洛谷 P1553 数字反转(升级版)
  • 原文地址:https://www.cnblogs.com/HackerBlog/p/6367800.html
Copyright © 2011-2022 走看看