To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed.

SQL语句中除存储字符外均要求英文字母全部大写

SQL语句中除存储字符外均要求英文字母全部大写

对较为复杂的SQL语句加上注释,说明算法、功能

WHERE子句禁止出现1=1,实施地防火墙会过滤掉,导致报错

禁止使用SELECT *,应把具体字段名写出

关联时使用表别名

二级问题:规范性问题

GRIS事业部-设计部-数据库组

整洁成就卓越代码

细节之中自有天地

Oracle编码规范

按照问题严重程度,把问题从低到高分为四类

禁止使用SELECT *

SQL语句中除存储字符外均要求英文字母全部大写

WHERE子句禁止出现1=1,实施地防火墙会过滤掉,导致报错

干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础

尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷

问题分类

性能问题

易读性问题

规范性问题

逻辑问题

一级

二级

三级

四级

规范标准,省时高效

随心所欲,事倍功半

缺失关联条件导致笛卡尔积,各表数据量相乘就是笛卡尔结果集的大小,数据量大时可导致临时表空间爆满

上下文逻辑不一致

含策略的表未先使策略失效

删表前先使外键失效

除去分页,子查询中禁止使用ORDER BY

禁止使用NOT IN以及NOT EXISTS

避免使用视图作多表关联

禁止嵌套子查询过多

尽量不用 循 环

三级问题 性能问题

禁止使用GOTO或RETURN语句提高可读性

避免数据类型隐士转换

四级问题: 逻辑问题

数据处理逻辑性错误

四级问题: 逻辑问题

笛卡尔积问题

函数转换会导致索引失效等问题

避免嵌套连接

尽量使用Oracle原生函数