存储过程和触发器
为什么需要存储过程 当今的软件大都应用于网络中,而一般应用程序所需数据都保存在数据库中。在没有使用存储过程的数据库应用程序中,用户所编写的应用程序都是从本地计算机(client)向服务器(server)端发送SQL代码来请求对数据库中数据的增删改差操作,服务器对接收到的SQL代码进行编译后执行,并将结果返回给client,再由客户端的软件处理后输出。如果开发者对服务器安全性考虑不周全,就会为黑客提供盗取数据的机会。其中SQL注入是一种常见的方式。 为了防止SQL注入过程泄露企业的商业机密,我们可以通过存储过程把对数据库操作的SQL代码预先编译好并保存在服务器端。这样既减少了网络传输量,又能保证应用程序的运行性能。 然后,我们来看下什么是存储过程 什么是存储过程 存储过程(procedure)类似于C#语言中的方法,它是SQL语句和控制语句的预编译集合。存储过程保存在数据库里,可由应用程序调用执行。 说的简单一点,存储过程就像数据库中运行的方法 存储过程的优点: 执行速度更快---因为存储过程是预编译过的 模块化程序设计—类似方法的复用 提高系统的安全性—防止SQL注入 减少网络流量—只需传输存储过程的名称即可 存储过程分类: 系统存储过程: 系统存储过程提供了管理数据和更新表的机制,并充当从系统表中检索信息的快捷方式。 常用系统存储过程: 用户自定义存储过程: