存储过程 触发器 游标
2018-02-27 09:51
197 查看
1.存储过程
存储过程是一系列预先编辑好的、能实现特定数据操作功能的SQL代码集。存储过程的好处:
(1)重复使用。存储过程可以重复使用,从而减少数据库开发人员的工作量
(2)提高性能。存储过程在创建的时候就进行了编译,将来使用的时候就不用再编译。一般的SQL语句使用一次就编译一次,所以使用存储过程提高了效率
(3)减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此减低了网络传输的运输量
(4)安全性。参数化的存储过程可以防止SQL注入攻击,而且可以将Grant、Deny、以及Revoke权限应用于存储过程
2.触发器
触发器是一种实施复杂数据完整性的特殊存储过程,在对表或视图执行update、insert或delete语句时自动触发执行,以防止对数据进行不正确、未授权或不一致的参数3.游标
游标是一段私有的SQL工作区,也就是一段内存区域,用于暂时存放受SQL语句影响到的数据。通俗理解就是将受影响的数据暂时放到了一个内存区域的虚表中,而这个虚表就是游标游标是一种处理数据的方法,为了查看或者处理结果集中的数据,游标提供了在结果集中向前或者向后浏览数据的能力
作用
作用是什么? 由于对数据库的操作我们会暂时放在游标中,只要不提交,我们就可以根据游标中内容进行回滚,在一定意义有利于数据库的安全。
类型:
1,隐式游标:增删改等操作Oracle都会自动创建游标,暂时保存操作结果,也就是能够回滚的操作都会引发游标的创建。 2,显示游标:由开发人员通过程序显式控制,用于从表中取出多行数据并将多行数据一行一行的单独进行处理
(1)创建游标
(2)打开游标
(3)读取数据
(4)数据操作
(5)关闭和释放游标
declare --定义记录类型的变量 v_user user%rowtype; --1,利用cursor关键字声明游标 cursor user_cur is select * from user; begin --2,打开游标 open user_cur; --3,利用fetch读取数据 fetch user_cur into v_user; while user_cur%found loop dbms_output.put_line(v_user.userName); fetch user_cur into v_user; end loop; --4,释放游标 close user_cur; end;
http://blog.csdn.net/liujiahan629629/article/details/18014051
相关文章推荐
- navicat中创建存储过程、触发器和使用游标的简单实例(图文)
- 利用navicat创建存储过程、触发器和使用游标的简单实例
- 利用navicat创建存储过程、触发器和使用游标的简单实例
- 利用navicat创建存储过程、触发器和使用游标的简单实例
- Day60-Oracle04 - PLSQL编程、游标cursor、例外exception、存储过程(procedure)、存储函数(function)、java调用存储过程、触发器(trigger)
- 视图、索引、存储过程 、触发器、游标及事务
- 存储过程,触发器,游标
- SQL Server 存储过程、触发器、游标
- SQL使用DOS命令建库。建表,添加约束,标量值函数,存储过程,触发器,游标
- 游标、例外、存储过程、存储函数、java调用存储过程、触发器(Oracle之二)
- MySQL 存储过程/游标/触发器/事务
- 数据库存储过程,触发器,游标,函数
- MySQL必知必会笔记(六)存储过程 游标 触发器
- 利用navicat创建存储过程、触发器和使用游标的简单实例
- ORACLE PL/SQL语法应用:游标,存储过程,触发器,函数
- 视图、索引、存储过程 、触发器、游标及事务
- oracle中存储过程,存储函数,触发器,游标,索引,事务以及锁的概念,作用
- 【MySQL】存储过程 游标 触发器
- [SQL SERVER系列]存储过程,游标和触发器实例[原创]
- 视图、存储过程、函数、游标、触发器使用