一. 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 ;
相关文章
- 命令Oracle查询表、触发器、存储过程、视图
- 数据库 day62 Oracle(pl/sql,存储过程,触发器)
- Oracle数据库的存储过程、存储函数与触发器
- MySQL视图 索引 存储过程 触发器 函数
- Oracle数据库操作大全(十三)——pl/sql编程(存储过程、函数、触发器)
- Oracle数据库语句 简单的存储过程+触发器+游标
- oracle数据库if 循环 存储过程 函数 触发器
- Oracle 之 存储过程|程序包|触发器|视图|同义词
- oracle 创建表,序列,索引,视图,触发器,函数,存储过程,定时器,包体
- Oracle数据库开发--oracle sql developer工具/存储过程/函数/触发器