您的位置:首页 > 数据库 > Oracle

Oracle最后部分复习内容

2014-07-18 18:46 253 查看
<strong>子程序:
存储过程:
有名称的PLSQL块,称之为存储过程
语法:
create or replace procedure p_emp_findsal 过程名(p_type

in/out/in out p_name)

as

begin

exception

end end p_emp_findsal;

如何使用存储过程
1.创建存储过程
2.测试存储过程

测试:
create or replace procedure p_emp_find(p_empno NUMBER)
IS

v_sal NUMBER(8,2);

begin
SELECT sal INTO v_sal FROM emp WHERE empno=p_empno;
dbms_output.put_line(v_sal);
end p_emp_find;

create or replace procedure p_emp_find(p_empno NUMBER)
IS

v_sal   emp.empno%TYPE;
v_ename emp.ename%TYPE;-----------列类型
v_job   emp.job%TYPE;
v_mgr   emp.mgr%TYPE;

--select into 只能存储一条存储过程
--系统自定义三个预定义异常
begin
SELECT sal,ename,job,mgr  INTO v_sal,v_ename,v_job,v_mgr FROM

emp WHERE empno=p_empno;
dbms_output.put_line(v_sal);
dbms_output.put_line(v_ename);
dbms_output.put_line(v_job);
dbms_output.put_line(v_mgr);

EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('0000');
WHEN too_many_rows THEN
dbms_output.put_line('11111');
WHEN OTHERS THEN
dbms_output.put_line('11111111');
end p_emp_find;

函数:
CREATE OR REPLACE FUNCTION f_emp_total_sal(p_deptno IN

emp.deptno%TYPE)
RETURN NUMBER
AS
v_sum NUMBER(8,2);
BEGIN
SELECT SUM(sal) INTO v_sum FROM emp WHERE deptno=p_deptno;
--  dbms_output.put_line(v_sum);不要输出
RETURN v_sum;
END f_emp_total_sal;

存储过程和函数的区别
1.存储过程和函数的区别
存储过程没有返回值,而函数有返回值
存储过程和函数都是Oracle的对象
存储过程和函数因为被提前编译且存储在服务器,所以安全,执行速度快
存储过程和函数是一个完整的事物单元。要么全部执行,要么都不成功

触发器
作用:审计,数据完整性,安全
定义:是数据库的一个对象
分类:系统触发器【作用在oracle系统上,例如,开机触发,关机前触发

】
DML触发器【insert ,delete,update,作用在表上】
替代触发器【作用在仕途上】

语法:
create or replace trigger tr_emp_opater
-before-insert or delete or update on 表

as

declare
--定义局部变量
begin
--写业务[不允许写事务性语句,例如rollback,commit savepoint
end tr_emp_update;

闪回:select * from  emp as of timestamp  sysdate -5/1440

插入:select * from emp t insert into emp;

4.数据的备份和还原:
1.delete操作单未commit的数据操作
delete from emp;
rollback;

2.delete操作单已经commit的数据怎么恢复
insert into emp
select * from emp as of timestamp sysdate-d/1440;
commit

3.drop操作语句怎么恢复
flashback table table to before drop;

注意:这样删除的数据无法闪回
drop table emp purge

4.truncate 删除怎么恢复
exp(导出)
imp(导入)

</strong>


总复习:

1.Oracle的安装和卸载

2.Oracle客户端服务端的网络配置

3.SQL基础语法

4.Oracle的对象

5.PLSQL的开发

6。Oracle的数据库设计【powerdesigner】

7.数据库备份和还原
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle复习总结