更新时间: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 *方式。
  • 规则4SELECT语句要列出具体字段名,对比较大的表以及查询的字段比较多,需要添加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(不允许,移到外面)
分享:

    相关文档

    相关产品