一、存储过程:oracle有系统存储过程和自定义存储过程,为了完成特定功能的sql语句集,经编译后存储在数据库中,用户经过特定的存储过程名来执行。sql
做用:数据库
(1)、因为存储过程只在创造时进行编译,调用过程当中无需编译直接执行,而通常的sql语句须要每执行一次就编译一次,因此存储过程的执行效率更高,安全
(2)、存储过程能够重复使用,可减小数据库开发人员的工做量服务器
(3)、安全性高,设定某个用户使用特定存储过程的具备使用权并发
缺点:大量使用存储过程,增长服务器的压力oracle
建立sql语句:函数
create or replace procedure 过程名 is begin ......end ;日志
执行语句:execute执行索引
二、存储函数:事件
做用:
缺点:
建立sql语句:
create or replace function 函数名
return
is
三、存储过程与存储函数的区别
(1)、存储函数必须有返回值(单一的),而存储过程没有
(2)、存储过程能够独立做为pl/sql语句执行,而存储函数不能够
(3)、函数能够嵌入到slq语句中执行,而存储过程则不能够。
四、触发器:特定事件出现的时候,自动执行代码块,类型存储过程,但用户不能直接调用他们,触发器是数据库自动执行
触发器触发时间有两种:after和before。
做用:对某一个表或数据库进行操做时,触发器内的代码开始执行
建立slq语句
create trigger 触发器名 before
类比:就比如,我删除一个表的数据时要记录日志或者修改其余表的数据
五、索引:
做用:适当的添加索引能够提升查询的速度,切记必定是适当的建立
建立sql语句
create index 索引名 on table(column 1,column2)
6.
事务:对数据库进行一次或屡次的逻辑单元操做,要么所有执行,要么所有不执行
锁:数据库用来控制资源共享并发访问的机制
锁做用:保护正在被修改的数据,直到提交或回滚了事务以后,其余用户才能够更新数据
锁的优势:一致性- 一次只容许一个用户修改数据
完整性- 为全部用户提供正确的数据
七、游标:
Oracle系统在内存中开辟的一个工做区,在其中存放SELECT语句返回的查询结果
建立sql语句:
declare
cursor 游标名 is select
begin
end;