分享
 
 
 

借用小小的一个问题-谈谈Oracle理论基础学习的重要

王朝学院·作者佚名  2009-11-05
窄屏简体版  字體: |||超大  

Oracle的学习可不是一件容易事,特别是理论的知识,不仅枯燥,而且很多抽象的问题经常让我们的Oracle学习者感到各种各样的困惑,从而让我们的学习者对自己产生怀疑,从而放弃理论的学习,而仅仅局限在一些很肤浅的做实验的学习中。前几天就和一两个朋友讨论过为什么理论性的学习网友们不感冒,却仅仅只是局限在做实验的学习中。 而很多网友又反应做过了实验,就只会做实验了,而为什么做,里面每一步有什么作用却一点都不了解。 这就是没有好好学习理论导致的。 我读大学是学习化学的,化学里经常要做实验,实验里的每个步骤都以理论为依据的, 当时上课的时候,老师都是在实验过程前,标注好实验的依据,实验中的每个环节的知识点,已经实验最后的结论,这样的实验才是一个完整的实验。 当然,没有老师的这些基础知识的理论,我们完全照着实验图解来做也可以做出来,但是这样的实验仅是得到最后的一个实验产物,或者失败, 除了多闻了一下实验室里药品的闻到,还得到了其他的什么呢?

下面我通过一个小小的问题做实例,谈谈Oracle理论学习的重要性。

有一个网友在论坛里提出了这样一个问题

原问题见“ Oracle中可不可以用一个Select语句,查出Oracle自带的所有函数名称 ”

想通过select语句找到所有内嵌的函数,其实就是查询Oracle的数据字典表了。这个问题我还是第一次遇到过,虽然对这个问题还没有确定的答案,但是,但是作为管理平时对Oracle的数据字典的理论指导我一步一步找到答案。

在Oracle数据库里,对PLSQL的段,function,procedure,package里的function和procedure,没有分开进行管理,都是通过procedure系列的数据字典表进行管理的。所以这里的答案应该就在这里找,继续深入,在Oracle里内嵌的对象都是在一个名为STANDARD的package进行定义的,我们来看看dba_procedure的表的结构

SQL> desc dba_procedures

Name Type Nullable Default Comments

-------------- ------------ -------- ------- --------------------------------------------------------------

OWNER VARCHAR2(30)

OBJECT_NAME VARCHAR2(30) Name of the object : top level function/procedure/package name

PROCEDURE_NAME VARCHAR2(30) Y Name of the procedure

AGGREGATE VARCHAR2(3) Y Is it an aggregate function ?

PIPELINED VARCHAR2(3) Y Is it a pipelined table function ?

IMPLTYPEOWNER VARCHAR2(30) Y Name of the owner of the implementation type (if any)

IMPLTYPENAME VARCHAR2(30) Y Name of the implementation type (if any)

PARALLEL VARCHAR2(3) Y Is the procedure parallel enabled ?

INTERFACE VARCHAR2(3) Y

DETERMINISTIC VARCHAR2(3) Y

AUTHID VARCHAR2(12) Y

这里可以看到Object_name这个字段的描述

Name of the object : top level function/procedure/package name 顶层的package name。

根据这里的描述 我们可以看到,如果是在STANDARD这个表里建立的话,那么我们用OBJECT_name就可以查询到这里我们需要的结果了。

用以下的sql

select * from dba_procedures where object_name = 'STANDARD'

有很多的重复记录,加上distinct即可

最后的sql也就是

select distinct procedure_name from dba_procedures where object_name = 'STANDARD'

就是我们的最后的答案。

这个问题并不是一个复杂的问题,但是这里我们可以看到,有时我们解决问题的时候,如果对理论基础有比较多的了解的话,可以让我们有一个很清晰的思考和分析的方向,而根据这个方向,我们要找到我们的答案,就方便的多了。这里的这个问题就是如此,有兴趣的朋友可以在google上搜寻一下,google上是没有答案的。

基础理论对我们的重要性就在此, 有很多的朋友平时对基础理论不是特别看中,相反的有很多网友仅仅只是通过实例操作和做实验来进行,这个是一个不正确的认识,的确实验和实例相对于理论学习更具体,而且对着实验做,一步一步,描述的清楚,而且学起来又简单,但是对于庞大的知识体系,比如说Oracle,不同的case导致不同的结果,单凭一个小小的实验很难深入到真正的Oracle体系,你做的个这个实验可能改变小小的一点,就会导致另外的表现,而必须用另外的方式去解释和解决。 如果你的知识点是以单个点为基础的,那么可想而知,如此窄的认知,在千变万化的组合面前就显的太单薄叻, 我们只有通过基础理论的加深,把我们单一的知识点汇集和深入到线,甚至面的基础上,这样的认知才是有力度的。才能在复杂纷乱的情况下,找到问题的本质。Oracle学习之道就在此,理论为主,实验为辅,有理论的实验才是一个有意义的实验。不要做完了实验,是看到个成功和失败。其他的什么都没有印象叻。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有