oracle视图索引
reate table fleet_header(
day date,name varchar2(20),
route_id number(5),fleet_id number(5)
);
create view fleet (day,route_id)
as select day, route_id from fleet_header;
insert into fleet values('10-10月-05',9);
--修改视图定义
create or replace view fleet as select * from fleet_header;
--删除视图
drop view fleet;
--如何在fleet_header表的name 列上创建名为aud_index的索引
create index aud_index on fleet_header(name);
--创建唯一索引
--如何在fleet_header表的route_id 列上创建名为aud_index的索引
create unique index place_ind on fleet_header(route_id)
--创建组合索引
create index comp_index on fleet_header(route_id,fleet_id)
--创建反向键索引
--fleet_header表的route_id列值是一个顺序增长的序号,
--需要在此列上创建索引以提高查询速度
create index rev_ind on fleet_header(route_no) reverse;
--创建位图索引
create bitmap index bit_ind on fleet_header(cat._code);
--创建位图索引
create index ucase_name_ind on fleet_header (upper(name));
--输入以下语句使用该索引
select * from fleet_header where upper(name)='smith';
--删除索引
drop index emp_ind1;
----------------------------------------
--使用条件控制
----------------------------------------
create table salary_records
(
deptcode varchar2(15),
empcode varchar2(10),
empsal number
)
insert into salary_records
values('DP04','A4',0)
declare
dptcode varchar2(15);
emp_code varchar2(10);
salary number;
begin
select deptcode,empcode,empsal into dptcode,emp_code,salary
from salary_records where empcode='&empid'
for update of empsal;
IF dptcode ='DP01' then
update salary_records set empsal=salary+2000
where empcode=emp_code;
elsif dptcode ='DP01' then
update salary_records set empsal=salary+1700
where empcode=emp_code;
elsif dptcode='DP03' then
update salary_records set empsal=salary+2000
where empcode=emp_code;
end if;
commit;
end;
-----------------------------------------------
--使用循环控制
---------------------------------------------
declare
courserec SALARY%rowtype;
counter number:=0;
begin
courserec.empsal:=&id;
courserec.empcode:='&name';
while counter <12
loop
insert into SALARY
values(courserec.empsal,courserec.empcode);
counter:=counter+1;
courserec.empsal:=courserec.empsal+1;
end loop;
end;
-----------------------------------------------
使用顺序控制
-------------------------------------------
alter table salary_records add (working_days number);
select * from salary_records
declare
workdays number;
salary number;
bonus number;
dept varchar2(10);
begin
select working_days,empsal,deptcode into workdays,
salary,dept from salary_records where empcode='&empid';
IF workdays>=29 then
goto calc_raise;
else
DBMS_OUTPUT.PUT_LINE('工作天数少于29天');
end if;
<<calc_raise>>
if dept='DP01' then
bonus :=salary*0.25;
dbms_output.put_line(bonus);
else
bonus :=salary*0.10;
dbms_output.put_line(bonus);
end if;
end;
set serveroutput on
/
oracle视图索引的更多相关文章
- oracle 序列 视图 索引 同义词
序列 Oracle 12C 之后,Oracle 之中提供的是一种手工的自动增长列控制,而这样的控制在 Oracle 之中使用序列(对象)完成. 序列的创建: CREATE SEQUENCE 序列名称 ...
- Oracle学习2 视图 索引 sql编程 游标 存储过程 存储函数 触发器
---视图 ---视图的概念:视图就是提供一个查询的窗口,来操作数据库中的数据,不存储数据,数据在表中. ---一个由查询语句定义的虚拟表. ---查询语句创建表 create table emp a ...
- Oracle索引梳理系列(七)- Oracle唯一索引、普通索引及约束的关系
版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...
- Oracle视图分类及各种操作讲解(超级好文)
目录:一.视图的定义: 二.视图的作用: 三.创建视图: 1.权限 2.语法 3.1 创建简单视图 3.2 创建连接视图 3.2.1 连接视图定义 3.2.2 创建连接视图 3.2.3 ...
- oracle视图总结
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- oracle视图总结(转)
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- oracle 创建索引思考(转)
在Oracle数据库中,创建索引虽然比较简单.但是要合理的创建索引则比较困难了. 笔者认为,在创建索引时要做到三个适当,即在适当的表上.适当的列上创建适当数量的索引.虽然这可以通过一句话来概括优化的索 ...
- Oracle 视图 (待更新, 缓存)
参考: 视图.索引.存储过程优缺点: http://www.cnblogs.com/SanMaoSpace/p/3147059.html oracle视图总结(转):http://tianwei013 ...
- oracle唯一索引与普通索引的区别和联系以及using index用法
oracle唯一索引与普通索引的区别和联系 区别:唯一索引unique index和一般索引normal index最大的差异是在索引列上增加一层唯一约束.添加唯一索引的数据列可以为空,但是只要尊在数 ...
随机推荐
- wikioi 1154 能量项链
题目描述 Description 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子 ...
- C#中动态加载和卸载DLL
在C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载.在C#中我们也能使用Assembly.LoadFile实 ...
- 解决Linux下sqlplus中文乱码问题
错误现象:在windows下用其他工具访问oracle,确认中文正常显示.在Linux下使用sqlplus查询数据表中文内容出现乱码. 分析及解决:因为windows下正常,所以问题应出现在Linux ...
- cocos2d-x 获取系统时间
转自:http://blog.csdn.net/jinjian2009/article/details/9449585 之前使用过cocos2d-x获取系统时间,毫秒级的 long getCurren ...
- QuickXdev+sublime text打造quick-cocos2d-x开发环境
Sublime 插件安装方法: 一.简单的安装方法 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: import urllib.request, ...
- Fedora 19安装Fcitx输入法并安装搜狗输入法资源包
系统自带的Ibus输入法非常的不好用.在Sublime Text下中文根本不能输入.于是想着换成Fcitx. 1.先卸载系统自带的Ibus输入法 sudo yum remove ibus gsetti ...
- Linux下vim配置详解
转自http://www.cnblogs.com/witcxc/archive/2011/12/28/2304704.html
- JavaScript 中 typeof 知多少?
typeof运算符介绍:typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型. 你知道下面typeof运算的结果吗? typeof(1 ...
- 新一代 PHP 加速插件 Zend Opcache
参考:http://www.laogui.com/Zend-Opcache 大家知道目前PHP的缓存插件一般有三个:APC.eAccelerator.XCache,但未来它们可能都会消失,因为PHP ...
- graylog2+syslog-ng+mongodb构建集中管理日志服务器 --转载
原文地址:http://blog.chinaunix.net/uid-11065483-id-3654882.html 由于公司内需要监控QQ的上下线记录,原本使用了分光+Panabit+Splunk ...