存储过程

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

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 调用存储过程 完成添加效果

我不作恶

但有权拒绝为善

我不赞同

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

原文地址:https://www.cnblogs.com/HackerBlog/p/6367800.html