当前位置: 代码迷 >> SQL >> oracle 之pl/sql 基础学习(3)
  详细解决方案

oracle 之pl/sql 基础学习(3)

热度:31   发布时间:2016-05-05 13:25:08.0
oracle 之pl/sql 基础学习(三)
索引分为聚集索引,非聚集索引。1.B-tree 索引包含唯一索引	唯一索引与主键的区别:主键是唯一标识一行的,一张表中只能有一个主键,而唯一索引可以有多个。	2.反向索引反向索引:反转了b*tree索引码中的字节,是索引条目分配更均匀,多用于并行服务器环境下,用于		  减少索引叶的竞争。3.降序索引降序索引:8i中新出现的索引类型,针对逆向排序的查询。4.位图索引  位图索引:使用位图来管理与数据行的对应关系,多用于OLAP系统。 适用于列的数值比较少的,比如sex 性别只有男,女。位图索引主要用于决策支持系统或静态数据,不支持行级锁定。位图索引最好用于低cardinality列(即列的唯一值除以行数为一个很小的值,接近零),例如又一个“性别”列,列值有“Male”,“Female”,“Null”等3种,但一共有300万条记录,那么3/3000000约等于0,这种情况下最适合用位图索引。5.函数索引函数索引:这种索引中保存了数据列基于function返回的值,在select * from table where function(column)=value这种类型的语句中起作用。 -----------------------------------------触发器有3种触发器1.DML触发器(insert ,update ,delete)从行为上说包括事前触发和事后触发从触发频率包括行级触发和语句触发2.instead of 替代触发器 (由于在Oracle里,不能直接对由两个以上的表建立的视图进行操作。所以给出了替代触发器。它就是Oracle专门为进行视图操作的一种处理方法)3.系统级触发器 (它可以在Oracle数据库系统的事件中进行触发,如Oracle系统的启动与关闭等)


一个触发器的例子,触发器的名字为TriggerTest,是一个事后触发器,tt是表明,当你对该表进行更新时,就执行触发器里的操作。create or replace trigger TriggerTest  after update on tt                 --事前触发,将after改成before  for each rowdeclare  -- local variables herebegin  insert into student values(1,'aa',11);end TriggerTest;
  相关解决方案