剑破冰山Oracle开发艺术-数据库编程规范.pdf

剑破冰山Oracle开发艺术-数据库编程规范.pdf

ID:57731729

大小:753.35 KB

页数:13页

时间:2020-03-25

剑破冰山Oracle开发艺术-数据库编程规范.pdf_第1页
剑破冰山Oracle开发艺术-数据库编程规范.pdf_第2页
剑破冰山Oracle开发艺术-数据库编程规范.pdf_第3页
剑破冰山Oracle开发艺术-数据库编程规范.pdf_第4页
剑破冰山Oracle开发艺术-数据库编程规范.pdf_第5页
资源描述:

《剑破冰山Oracle开发艺术-数据库编程规范.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章大话数据库编程规范1第章大话数据库编程规范剑破冰山——Oracle开发艺术目前在软件圈内有这么一个现象,就是DBA不太懂得写PL/SQL,而开发人员写得又是五花八门,而且效率不高。如此一来,造成诸多弊端:可读性差。读别人写的一个程序花费的时间,比自己写一个程序花费的时间还要长;不但别人看不懂,时间久了连自己也看不懂了。可维护性差。程序越写越长,越改越烂。可移植性差。今天用Oracle写一套,明天换成SQLServer的时候再写一套,众多的数据库开发人员在程序的苦海中重复着低级劳动。效率和性能差。一个存储过程或SQL执行效率简直可以让你感觉到对时间的绝望,你很快就理解什么

2、是相对论了。1.1编程规范概述事实上为了统一在软件开发过程中关于数据库设计时的命名规范和编程规范,正规的IT公司都会制定一些关于数据库对象的命名和编程规范。否则,你写你的我写我的,各自为战不兼容,彼此看不懂,甚至到最后连自己都弄不明白了,这样的经历相信每个人都曾经遇到过。2剑破冰山——Oracle开发艺术如下面这段简单的代码,你看得明白吗?就算暂时明白,过个一年半载你还明白吗?就算你记忆超群,想必也会忘记,不是吗?A:=1;b:=2;SeLeCTusernamefromEmPLOyeewhereid=aaNdType=b;如果你改为下面这样的写法,相信稍微懂点数据库的人都应该看得明白

3、。vID:=1;--A为IDvType=2;--B为类型SELECTusernameFROMemployeeWHEREid=vIDANDtype=vType;1.2书写规范丑陋的书写规范不仅可读性较差,而且给人以敬而远之的感觉,就算你是大侠也不行;而良好的书写规范则给人以享受和艺术的体验。1.2.1大小写风格规则1.2.1.1所有数据库关键字和保留字均使用大写;关于字段、变量的大小写风格在1.4节详细介绍。1.2.2缩进风格规则1.2.2.1程序块严格采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2/4个。必须使用空格,不允许使用【Tab】键。以免在用不同的编辑器阅读程

4、序时,因【Tab】键所设置的空格数目不同而造成程序布局不整齐。规则1.2.2.2当同一条语句需要占用多于一行时,每行的其他关键字与第一行的关键字进行右对齐。IFflag=1THENSELECTusername--同上一行相比缩进2个空格INTOvuserinfo--INTO与SELECT进行右对齐FROMuserinfo--FROM与SELECT进行右对齐WHEREuserid=:iuserid;--WHERE与SELECT进行右对齐ENDIF;第1章大话数据库编程规范31.2.3空格及换行规则1.2.3.1不允许把多个语句写在一行中,即一行只写一条语句。规则1.2.3.2避免将复杂

5、的SQL语句写到同一行,建议要在关键字和谓词处换行。规则1.2.3.3相对独立的程序块之间必须加空行。BEGIN、END独立成行。规则1.2.3.4太长的表达式应在低优先级操作符处换行,操作符或关键字放在新行之首。划分出新行应当适当地缩进,使排列整齐,语句可读。当不同类型的操作符混合使用时,建议使用括号进行隔离,以使代码清晰。规则1.2.3.5减少控制语句的检查次数,例如,在IF…ELSE控制语句中,应将最常用的符合条件前置以被检查到。DECLARE--定义局部变量vFlagVARCHAR2(10);--判断标志…BEGINIF((a=bANDa=cANDa=d)OR--在OR处断行

6、,可使得逻辑更为清晰(a=eANDe=f))THEN--ProcesssomethingIFvFlag=1THEN--vFlag=1为经常出现的条件,可有效减少判断检查次数--ProcesssomethingELSIFvFlag=2THEN--vFlag=2为次之出现的条件--ProcesssomethingELSE--ProcesssomethingENDIF;4剑破冰山——Oracle开发艺术1.2.4其他规则1.2.4.1避免使用SELECT*语句;不要用*来代替所有字段,应给出字段列表,以避免在表结构发生变化时应用程序出现无法识别的情况。规则1.2.4.2INSERT语句必须

7、给出字段列表,以避免在表结构发生变化时发生编译错误。规则1.2.4.3当一个PL/SQL或SQL语句中涉及多个表时,始终使用别名来限定表名和字段名,这使其他人阅读起来更方便,避免了含义模糊的引用,并能够在别名中清晰地判断出表名和相关字段名。规则1.2.4.4确保变量和参数在类型和长度上与表数据列相匹配。如果与表数据列宽度不匹配,则当较宽或较大的数据传进来时会产生运行异常。DECLARE--定义相关表字段变量vDeptNosalary.Deptno%type

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。