我的oracle学习之旅

    在我们公司,整个开发与测试流程是这样的:

    1.首先,开发人员写设计文档,内容包括需求与实现等。然后进行review,并开会讨论,得到最终的设计文档,这时详细的需求就了解了。

    2.测试人员得到最终的需求文档后就要开始编写测试用例,而这时开发人员就加紧开发。

    3.开发完后得到版本一的程序,测试人员进行测试,提bug等

    4.开发人员根据测试人员提的bug进行修改程序,经过一轮的测试与修改,得到版本二,然后又是一轮新的测试与修改过程,如此循环下去,直到项目经理确定可以发版为止,一般也就是测试人员发现的bug全部修改好后就可以发版了。

    一般来说,开发新的需求的时间会比较长,而编写测试用例的时间会相对短一些,因此在编写完测试用例到开发完版本一这个过程中,我就空闲下来了。因为在过去的经验中从没用过数据库,而现在的测试过程经常涉及到数据库,我发现经常是发现了问题后找相关开发人员,然后开发人员会说“这个数据我是直接从数据库里拿来的,现在数据库里没有这个数据,所以就无法显示出来云云……”,因此我决定趁最近比较空闲学学数据库。

    在测试过程一般只涉及到查询,因此我只针对查询来学习,针对我们项目学了一下,发现只要学完select语句,where, group by, order by, sum, 等值连接这几个语句与函数,竟然就能把大部分的查询都查出来,这下我可开心了,还以为数据库有多高深呢,原来测试需要掌握的也不算多嘛,就这几个语句就差不多够用了,不过事实证明,是我过于乐观了,要真正学习数据库以备需要时所用,路还长了去了……

    首先,发现连接时有时会出现一模一样的记录,为了不出现一模一样的记录,需要用distinct过一下,有时却不会,这是咋回事呢?(会在下一篇文章'sql连接-笛卡尔积'里会介绍什么情况下会出现一模一样的记录,什么情况不会)

    接着发现普通的select语句不够用了,select中又含有select语句才行,再接着发现怎么也无法在一条语句中查询到结果了,要用到程序块才行,再接着发现单纯的程序块也不够用了,要用到存储过程,类似编程用的自定义函数,我刚开始不知道这个就是所谓的存储过程,只当它是个函数,后来才知道原来这个“函数”就是大名鼎鼎的存储过程,说起存储过程,我想起刚毕业那阵去招聘会面试时就被问到存储过程是什么,不懂,结果就被out了,听说基本上应聘数据库相关的工作都会被问到存储过程,所以一早就听过它的大名,却一直不知道,汗一个,只是谁能告诉我为啥叫这个名字,一点都没法将两者联系起来……

    昨天学了一天的存储过程,本来想验证一下,结果发现没权限,测试人员只开放了查询权限,因此无法创建函数,哎,算了,先学到普通的程序吧,存储过程这东西过于高深,以后有需要再学了。

    总之,如果你真的想在某方面学到精的话,这水就真是深不可见啊……

你可能感兴趣的:(oracle,数据库,存储过程,测试,select)