- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《剑破冰山-Oracle开发艺术》.pdf
第1 章 大话数据库编程规范
1
第 章
大话数据库编程规范
剑破冰山
——Oracle 开发艺术
目前在软件圈内有这么一个现象,就是DBA 不太懂得写PL/SQL,而开发人员写得又是五
花八门,而且效率不高。如此一来,造成诸多弊端:
可读性差。读别人写的一个程序花费的时间,比自己写一个程序花费的时间还要长;不
但别人看不懂,时间久了连自己也看不懂了。
可维护性差。程序越写越长,越改越烂。
可移植性差。今天用Oracle 写一套,明天换成SQL Server 的时候再写一套,众多的数据
库开发人员在程序的苦海中重复着低级劳动。
效率和性能差。一个存储过程或SQL 执行效率简直可以让你感觉到对时间的绝望,你很
快就理解什么是相对论了。
1.1 编程规范概述
事实上为了统一在软件开发过程中关于数据库设计时的命名规范和编程规范,正规的IT 公
司都会制定一些关于数据库对象的命名和编程规范。
否则,你写你的我写我的,各自为战不兼容,彼此看不懂,甚至到最后连自己都弄不明白
了,这样的经历相信每个人都曾经遇到过。
2 剑破冰山——Oracle 开发艺术
如下面这段简单的代码,你看得明白吗?就算暂时明白,过个一年半载你还明白吗?就算
你记忆超群,想必也会忘记,不是吗?
A :=1;b:=2;SeLeCT username from EmPLOyee where id=a aNd Type=b;
如果你改为下面这样的写法,相信稍微懂点数据库的人都应该看得明白。
vID:=1; --A 为ID
vType=2; --B 为类型
SELECT username FROM employee WHERE id=vID AND type=vType;
1.2 书写规范
丑陋的书写规范不仅可读性较差,而且给人以敬而远之的感觉,就算你是大侠也不行;而
良好的书写规范则给人以享受和艺术的体验。
1.2.1 大小写风格
规则
所有数据库关键字和保留字均使用大写;关于字段、变量的大小写风格在1.4 节详细介绍。
1.2.2 缩进风格
规则
程序块严格采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2/4 个。
必须使用空格,不允许使用 【Tab 】键。以免在用不同的编辑器阅读程序时,因 【Tab 】键
所设置的空格数目不同而造成程序布局不整齐。
规则
当同一条语句需要占用多于一行时,每行的其他关键字与第一行的关键字进行右对齐。
IF flag=1 THEN
SELECT username --同上一行相比缩进2 个空格
INTO vuserinfo --INTO 与SELECT 进行右对齐
FROM userinfo --FROM 与SELECT 进行右对齐
WHERE userid=:iuserid; --WHERE 与SELECT 进行右对齐
END IF;
第1 章 大话数据库编程规范 3
1.2.3 空格及换行
规则
不允许把多个语句写在一行中,即一行只写一条语句。
规则
避免将复杂的SQL 语句写到同一行,建议要在关键字和谓词处换行。
规则
相对独立的程序块之间必须加空行。
BEGIN 、END 独立成行。
规则
太长的表达式应在低优先级操作符处换行,操作符或关键字放在新行之首。划分出新行应
当适当地缩进,使排列整齐,语句可读。
当不同类型的操作符混合使用时,建议使用括号进行隔离,以使代码清晰。
规则
减少控制语句的检查次数,例如,在IF…ELSE 控制语句中,应将最常用的符合条件前置以
被检查到。
DECLARE
--定义局部变量
vFlag VARCHAR2(10); --判断标志
您可能关注的文档
- [全球新闻眼]美联储的路线图3_曲线救国的伯南克.doc
- [房地产专业速成培训手册] .doc
- [文酷网]天赐良园二期广告推广策划思路.doc
- [比较政治学导论].张小劲&景跃进.中国人民大学出版社.pdf
- [竹刻艺术.刻竹小言]金西崖.王世襄着.pdf
- [美] 路斯·惠特尼《从杀猪小伙到百万富翁:房地产也能白手起家》.pdf
- [美国广播公司世界新闻(附带文本)].101101_wn_full.doc
- [美国广播公司世界新闻(附带文本)].101207_wn_full_vpod.doc
- [美国广播公司世界新闻(附带文本)].110105_wn_full_vpod.doc
- [考古中国夏商周断代工程解密记].岳南.文字版.pdf
文档评论(0)