更新时间:2023-11-04 GMT+08:00
排版规范
建议
- 建议1:全部使用大写来编写SQL语句和代码。
所有数据库代码统一使用大写字母,ORACLE和DB2存储过程不区分大小写,但某些数据库如SQL SEVER,变量名是大小写敏感的,为了保证移植性,有必要统一大小写风格。
- 建议2:SQL语句中关键字左对齐。
- 不符合规范示例:
SELECT COLUMN1, COLUMN2, COLUMN3 INTO v_L_VARIABLE1, v_L_VARIABLE2, v_L_VARIABLE3 FROM T_TABLENAME WHERE COLUMN4 = VALUE ORDER BY COLUMN2;
- 符合规范示例:
SELECT COLUMN1, COLUMN2, COLUMN3 INTO v_L_VARIABLE1, v_L_VARIABLE2, v_L_VARIABLE3 FROM T_TABLENAME WHERE COLUMN4 = VALUE ORDER BY COLUMN2;
注:ORDER BY、GROUP BY等具有两个关键的子句,只需要第一个关键字(ORDER、GROUP)和其它关键字左对齐即可。
- 不符合规范示例:
- 建议3:避免将SQL语句写到同一行,建议在关键字和谓词处换行。
- 建议4:缩进统一为4个空格,不建议使用TAB键。
- 建议5:针对UPDATE语句,所有关键字要左对齐,在字段不多的情况下,尽量一行只写一个字段。如果字段非常多,每行字段数不能超过四个。
规则
- 规则1:不允许把多个语句写在一行中,即一行只写一条语句。
- 规则2:过长的表达式应在低优先级操作符处换行书写,操作符放在新行之首,划出的新行要左对齐,不同运算符混合使用时要加括号以标识优先级。
例如下面的代码:
SELECT COLUMN1 FROM T_TABLENAME WHERE I_L_VARIABLE = ( A * B * C * D ) + ( E * F ) + ( H - I - J ) + K - ( ( L + M ) / N );
- 规则3:SELECT语句要列出具体字段名,严禁使用SELECT *方式。
- 规则4:SELECT语句要列出具体字段名,对比较大的表以及查询的字段比较多,需要添加LIMIT语句进行限制反馈的条数。
- 规则5:涉及到多表连接的SQL语句中,要为每个表指定别名。
示例:
SELECT A.COLUMN1, B.COLUMN1 FROM T_TABLE1 A, T_TABLE2 B WHERE A.COLUMN1 = B.COLUMN2;
- 规则6:WHERE语句中不允许出现与数据库列无关的条件表达式(比如 5 = ev_sm_user_id),这种条件表达式应该移到SQL语句外面。
SELECT A.COLUMN1, B.COLUMN1 FROM T_TABLE1 A, T_TABLE2 B WHERE 5 = ev_sm_user_id(不允许,移到外面)
父主题: 变量&规则开发指导