数据库编程之书写规范

数据库
数据库编程是数据库运行的最为重要的一个环节,那么数据库编程并不是什么要求都没有,随便编程的,当然,数据库编程也是要受到一定的规范的约束,本文中将为大家介绍数据库编程中书写规范要求。

数据库编程中如果出现了丑陋的书写规范不仅可读性较差,而且给人以敬而远之的感觉,就是您是大侠也不行啊;而良好的书写规范则给人以享受和艺术的体验。下文中就为大家介绍数据库编程书写规范,供大家参考。

大小写风格
规则

所有数据库关键字和保留字均使用大写;关于字段、变量的大小写风格在1.4 详细介绍。

缩进风格
规则

程序块严格采用缩进风格书写,保证代码清晰易读,风格一致,缩进格数统一为2 /4 个。

必须使用空格,不允许使用TAB 键。以免用不同的编辑器阅读程序时,因TAB 键所设置的空格数目不同而造成程序布局不整齐。

规则

同一条语句需要占用多于一行时,每行的其它关键字与***行的关键字进行右对齐。

IF flag=1 THEN

SELECT username -- 同上一行相比缩进4 个空格

INTO vuserinfo --INTO 与SELECT 进行右对齐

FROM userinfo --FROM 与SELECT 进行右对齐

WHERE userid=:iuserid; --WHERE 与SELECT 进行右对齐

END IF;

空格及换行
规则

不允许把多个语句写在一行中,即一行只写一条语句。

规则

避免将复杂的SQL 语句写到同一行,建议要在关键字和谓词处换行。

规则

相对独立的程序块之间必须加空行。

BEGIN 、END 独立成行

规则

太长的表达式应在低优先级操作符处换行,操作符或关键字放在新行之首。划分出新行应当适当地缩进,使排版整齐,语句可读。

不同类型的操作符混合使用时,建议使用括号进行隔离,以使代码清晰。

规则

减少控制语句的检查次数,如在 IF…ELSE 控制语句中,对最常用符合条件,尽量前置以被检查到。

DECLARE

-- 定义局部变量

vFlag VARCHAR2(10); -- 判断标志

BEGIN

 

IF ((a=b AND a=c AND a=d) OR -- 在OR 处断行,可使得逻辑更为清晰

(a=e AND e=f)) THEN

--Process something

 

IF vFlag=1 THEN --vFlag=1 为经常出现之条件,可有效减少判断检查次数

--Process something

ELSIF vFlag=2 THEN --vFlag=2 为次之出现的条件

--Process something

ELSE

--Process something

END IF;

 

 

 其它
规则

避免使用SELECT * 语句;不要用* 来代替所有字段,应给出字段列表,以避免表结构发生变化时应用程序出现无法识别的情况。

规则

INSERT 语句必须给出字段列表,以避免表结构发生变化时发生编译错误。

规则

当一个PL/SQL 或SQL 语句中涉及到多个表时,始终使用别名来限定表名和字段名,这使其它人阅读起来更方便,避免了含义模糊的引用,并能够别名中清晰地判断出表名和相关字段名。

规则

确保变量和参数在类型和长度与表数据列类型和长度相匹配。说明:如果与表数据列宽度不匹配,则当较宽或较大的数据传进来时会产生运行异常。

DECLARE

-- 定义相关表字段变量

vDeptNo salary.Deptno%type; --not VARCHAR2(10) ,以适应变化

vEmployeeNo salary.EmployeeNo%type; --not VARCHAR2(10) ,以适应变化

vSalary salary.Salary%type; --not NUMBER ,以适应变化

 

BEGIN

--Process something

END;

本文比较适合初学者学习,是大家掌握数据编写的最基本的知识,希望上文中介绍到的内容对大家能够有所帮助。

【编辑推荐】

  1. 关于学习数据库开发的一点建议和忠告
  2. DB2数据库编程序要用到的小技巧有哪些?
  3. 对Oracle数据库编程的总结
  4. Oracle数据库编程应用实例描述
责任编辑:迎迎 来源: CSDN
相关推荐

2011-04-07 10:50:47

数据库编程注释规范

2011-03-21 13:53:45

数据库开发书写规范

2011-08-23 17:33:00

SQLAndroid

2011-07-08 10:01:05

PHP

2017-07-20 11:11:39

前端CSS书写规范

2012-11-08 09:45:44

JavaScriptrequireJS

2019-11-07 14:46:09

数据库MySQL命令

2011-09-09 09:42:48

数据库集群备份

2011-07-05 16:27:14

过程函数PL

2010-09-01 09:59:32

CSS

2010-08-31 11:25:15

2010-04-12 15:53:09

Oracle

2014-08-29 10:24:05

SQL Server

2011-03-21 13:21:23

数据库开发规范

2009-02-03 13:06:17

日常维护规范MySQL

2009-06-24 13:07:44

Android数据库

2011-08-24 10:45:23

Oracle数据库进程从属进程

2010-09-01 10:17:38

CSShack注释

2021-01-26 13:31:48

数据库关系型数据库冗余

2010-05-11 18:57:53

MYSQL数据库命名
点赞
收藏

51CTO技术栈公众号