Oracle 视图、索引、存储函数

视图

概念

视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表

  • 视图所对应的数据,并不是真正的存储在视图中,而是存储在所引用的数据表中
  • 视图的结构和数据,是对数据表进行查询的结果

创建视图

create [or replace] [force] view '视图名'
as '子查询'
[with [cascaded]|local] check option]
[whith read only]

--例 给teacher表name字段以Y开头并且密码为123456的创建视图
create or replace view wang_teacher 
as select * from TEACHER 
where name like 'Y%' and pwd='123456';

--查看视图
select * from wang_teacher;

--删除视图
drop view wang_teacher;
or replace:若所创建的试图已经存在,Oracle 自动重建该视图 
force:不管基表是否存在,Oracle 都会自动创建该视图 
sub_query:一条完整的 SELECT 语句,可以在该语句中定义别名 
with check option:数据表 插入或修改 的数据行,必须满足视图定义的约束 
with read only:该视图上不能进行任何 DML 操作

 索引

索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容

创建索引

--普通索引
create index '索引名称' on '表名'('列名');
--例 给teacher表的name字段创建普通索引
create index t_index on teacher(name);

--唯一索引
create unique index '索引名称' on '表名'('列名');
--例
create unique index only_name on demo(name);

--复合索引
create index '索引名称' on '表名'('列名1', '列名2', ...);
--例
create index id_name_index on teacher(id,name);

--反向键索引
create index '索引名称' on '表名'('列名') reverse;
--例
create index t_index on teacher(name) reverse;

--位图索引
create bitmap index '索引名称' on '表名'('列名');

存储函数

存储函数 又称为 自定义函数。可以接收一个或多个参数,返回一个结果。在函数中我们可以使用P/SQL进行逻辑的处理

CREATE [ OR REPLACE ] FUNCTION '函数名称'('参数名称1' '参数类型1', '参数名称2' '参数类型2', ...)
RETURN '结果变量数据类型'
IS
	'变量声明部分';
BEGIN
	'逻辑部分';
   	RETURN '结果变量';
[EXCEPTION '异常处理部分']
END;



--例  判断数字是否位偶数
create or replace function checkNumber(num number) return varchar2
as
    resultStr varchar2(32);
    temp      number;
begin
    temp := mod(num, 2);
    if temp = 1 then
        resultStr := '奇数';
    else
        resultStr := '偶数';
    end if;
    return resultStr;
end;

--测试
select checkNumber(21) from dual;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值