Orcale(一)之:表2

来源:互联网 发布:freebsd mysql 编辑:程序博客网 时间:2024/06/04 20:09

写在前面的话

       上一篇说到“索引”这个东东,用大白话大概说了说。接下来还有很多其他的名词述语,大家可能觉得我说这些不切正题,不着主杆,但是我在学习的过程中不明白这些词我是真学不下去的,所以我逼自己耐下心去学这些东西。(我也是在学习)


序列

      在Oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。在大部份地方都是这么介绍序列的。

     其实  序列是数据库对象一种。通常我们用序列来生成连续的数字 ,一般用来实现主键字段的自动、唯一增长。序列消除了串行化并且提高了应用程序一致性。


存储过程(存储函数)

        在说存储过程的时候,我想跟大家回忆下前面说过的述语。不知道大家有没有发现:“视图”就是一个整理好的“结果”,方便提高我们“查”的速度;“索引”就是一个简化的表,让我们少走弯路,也是方便提高我们的“查”的速度。所以可想而知,这个“存储过程”的存在也是为了方便我们工作而存在。(这里要插一句了,其实为什么搞出这么多东东呢,就是为了偷懒)什么是存储过程呢,它是一些写好的代码,可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码就好比我们写JAVA时的方法一样去实现一些功能(对单表或多表的增删改查),我们给这些代码块取好一个名字,在用到这个功能的时候调用他就行了。这些代码块比我们直接用时写在后台的有什么区别么。当然有,要不哪有什么方便给我们,最多就是少了几步复制粘贴呗。一般的数据库语句,都得先编译然后才能执行。这存储过程,就是先帮我们译好了,到用时直接执行,以此来提高效率。

存储过程有几大好处:

1.由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比T-SQL语句高。

2.一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。

3.通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全。


存储函数几乎全部都和存储过程一样,唯一不一样的地方就是多了return 返回词句(列出各语法的时候就能显而易见地看出区别了)

触发器


这也是一个与存储过程(存储函数)类似的语句块,只是起的作用不一样。触发器不像存储过程那样需要你手动调用,它是满足你设定的条件就会执行。比如你让对某个表的插入删除更改等操伯只能在周一到周五的上班时间才能执行,那么就可以用触发器。触发器可以保护数据的安全。


     
0 0
原创粉丝点击