Oracle数据库“ 存储过程 触发器 索引 视图” 介绍

  一. Oracle数据库存储过程介绍:
 
  语法:
  1.创建不带参数的存储过程
  create or replace procedure p
  as
  cursor c is
  select * from emp for update;
  begin
  for v_emp in c loop
  if(v_emp.deptno = 10) then
  update emp set sal = sal +10 where current of c;
  elsif (v_emp.deptno = 20) then
  update emp set sal = sal + 20 where current of c;
  else
  update emp set sal = sal + 50 where current of c;
  end if ;
  end loop ;
  commit ;
  end ;
  // 执行存储过程(两种方式)
  · exec p;
  · begin
  p;
  end;
  2.创建带参数的存储过程
  create or replace procedure p
  (v_a in number,v_b number,v_ret out number)
  is
  begin
  if(v_a > v_b) then
  v_ret:=v_a ;
  else
  v_ret :=v_b ;
  end if ;
  end ;
  // 执行带参数的存储过程
  declare
  v_a number:=3 ;
  v_b number:=4 ;
  v_ret number ;
  begin
  p(v_a,v_b,v_ret) ;
  dbms_output.put_line(v_ret) ;
  end ;
 
  二. Oracle数据库触发器介绍:
 
  利用触发器实现的业务如下:
  现有两个表:emp和operate_info表,当用户对emp表进行增删改操作时,触发你所创建的触发器,该触发器执行向operate_info表中插入一条信息,记录用户对emp表的操作。
  语法:
  创建emp表:
  create table emp
  (
  uname varchar2(20),
  action varchar2(10),
  atime date
 
        三. Oracle数据库索引介绍:
 
  目地:更快地检索数据。
  特点:读取数据速度快,但添加数据速度慢.。
  语法:
  create index idx_stu_email on stu (email) ;
  drop index idx_stu_email ;
  select index_name from user_indexs ;
 
  四. Oracle数据库视图介绍:
 
  特点:视图相当于子查询。
  语法:
  create view v$;
  select view_name from user_views ;
  desc v$_dept_avg_sal_info ;
  create view v$_stu as select id,name from stu ;
 
  )
  // 创建触发器
  create or replace trigger trig
  after insert or delete or update on emp for each row
  begin
  if inserting then
  insert into emp_log values (USER,'insert',sysdate) ;
  elsif updating then
  insert into emp_log values (USER,'upate',sysdate) ;
  elsif deleting then
  insert into emp_log values (USER,'dalete',sysdate) ;
  end if;
  end ;
  // 删除触发器
  drop trigger trig ;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值