日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SQL代碼編碼原則和規(guī)范

更新時(shí)間:

本文為您介紹SQL編碼的基本原則和詳細(xì)的編碼規(guī)范。

編碼原則

SQL代碼的編碼原則如下:

  • 代碼功能完善。

  • 代碼行清晰、整齊,代碼行的整體層次分明、結(jié)構(gòu)化強(qiáng)。

  • 代碼編寫(xiě)充分考慮執(zhí)行速度最優(yōu)的原則。

  • 代碼中需要添加必要的注釋?zhuān)栽鰪?qiáng)代碼的可讀性。

  • 規(guī)范要求并非強(qiáng)制性約束開(kāi)發(fā)人員的代碼編寫(xiě)行為。實(shí)際應(yīng)用中,在不違反常規(guī)要求的前提下,允許存在可以理解的偏差。

  • SQL代碼中應(yīng)用到的所有SQL關(guān)鍵字、保留字都需使用全大寫(xiě)或小寫(xiě),例如select/SELECT、from/FROM、where/WHERE、and/AND、or/OR、union/UNION、insert/INSERT、delete/DELETE、group/GROUP、having/HAVING和count/COUNT等。不能使用大小寫(xiě)混合的方式,例如Select或seLECT等方式。

  • 4個(gè)空格為1個(gè)縮進(jìn)量,所有的縮進(jìn)均為1個(gè)縮進(jìn)量的整數(shù)倍,按照代碼層次對(duì)齊。

  • 禁止使用select *操作,所有操作必須明確指定列名。

  • 對(duì)應(yīng)的括號(hào)要求在同一列的位置上。

SQL編碼規(guī)范

SQL代碼的編碼規(guī)范如下:

  • 代碼頭部

    代碼頭部添加主題、功能描述、作者和日期等信息,并預(yù)留修改日志及標(biāo)題欄,以便后續(xù)添加修改記錄。注意每行不超過(guò)80個(gè)字符,模板如下。

    -- MaxCompute(ODPS) SQL
    --**************************************************************************
    -- ** 所屬主題: 交易
    -- ** 功能描述: 交易退款分析
    -- ** 創(chuàng)建者 : 有碼
    -- ** 創(chuàng)建日期: 20170616 
    -- ** 修改日志:
    -- ** 修改日期 修改人 修改內(nèi)容
    -- yyyymmdd name comment 
    -- 20170831 無(wú)碼 增加對(duì)biz_type=1234交易的判斷 
    --**************************************************************************
  • 字段排列要求

    • SELECT語(yǔ)句選擇的字段按照每行1個(gè)字段的方式編排。

    • 首個(gè)選擇的字段與SELECT之間隔1個(gè)縮進(jìn)量。

    • 換行縮進(jìn)2個(gè)縮進(jìn)量后,添加逗號(hào)再輸入其它字段名。

    • 2個(gè)字段之間的逗號(hào)分隔符緊跟在第2個(gè)字段的前面。

    • AS語(yǔ)句應(yīng)與相應(yīng)的字段在同一行,多個(gè)字段的AS建議盡量對(duì)齊在同一列上。as語(yǔ)句

  • INSERT子句排列要求

    INSERT子句寫(xiě)在同一行,請(qǐng)勿換行。

  • SELECT子句排列要求

    SELECT語(yǔ)句中所用到的fromwheregroup byhavingorder byjoinunion等子句,需要遵循如下要求:

    • 換行編寫(xiě)。

    • 與相應(yīng)的SELECT語(yǔ)句左對(duì)齊編排。

    • 子句首個(gè)單詞后添加2個(gè)縮進(jìn)量,再編寫(xiě)后續(xù)的代碼。

    • WHERE子句下的邏輯判斷符andor等,與WHERE左對(duì)齊編排。

    • 超過(guò)2個(gè)縮進(jìn)量長(zhǎng)度的子句加1個(gè)空格后,再編寫(xiě)后續(xù)代碼,例如order bygroup by等。超過(guò)兩個(gè)縮進(jìn)量

  • 運(yùn)算符前后間隔要求

    算術(shù)運(yùn)算符、邏輯運(yùn)算符前后要保留1個(gè)空格,并寫(xiě)在同一行(超過(guò)每行80個(gè)字符長(zhǎng)度的限制除外)。運(yùn)算符

  • CASE語(yǔ)句的編寫(xiě)

    CASE語(yǔ)句可以用于SELECT語(yǔ)句中對(duì)字段值進(jìn)行判斷取值的操作。CASE語(yǔ)句編排的規(guī)則如下:

    • WHEN子語(yǔ)在CASE語(yǔ)句的同一行,并縮進(jìn)1個(gè)縮進(jìn)量后開(kāi)始編寫(xiě)。

    • 每個(gè)WHEN子句盡量在1行內(nèi)編寫(xiě),如果語(yǔ)句較長(zhǎng)可以換行。else子句

    • CASE語(yǔ)句必須包含ELSE子句,ELSE子句與WHEN子句對(duì)齊。

  • 查詢嵌套編寫(xiě)規(guī)范

    在數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)ETL開(kāi)發(fā)中經(jīng)常使用子查詢嵌套,其編寫(xiě)規(guī)范示例如下。子查詢

  • 表別名定義約定

    • 一旦在SELECT語(yǔ)句中給操作表定義了別名,在整個(gè)語(yǔ)句中對(duì)此表的引用都必須以別名替代,所以需要給所有的表添加別名。

    • 表別名采用簡(jiǎn)單字符命名,建議按a、b、c、d…的順序進(jìn)行命名,并避免使用關(guān)鍵字。

    • 多層次的嵌套子查詢別名之前要體現(xiàn)層次關(guān)系,SQL語(yǔ)句的別名需要分層命名,從第1層次至第4層次,分別用P(Part) 、S(Segment)、 U(Unit) 和D(Detail)表示。您也可以用a、b、c、d來(lái)表示第1層次到第4層次。

      對(duì)于同一層次的多個(gè)子句,在字母后加1、2、3、4……區(qū)分,并根據(jù)情況對(duì)表別名添加注釋。別名

  • SQL注釋

    • 每條SQL語(yǔ)句均應(yīng)添加注釋說(shuō)明。

    • 每條SQL語(yǔ)句的注釋單獨(dú)成行,并放在語(yǔ)句的前面。

    • 字段注釋緊跟在字段后面。

    • 對(duì)不易理解的分支條件表達(dá)式添加注釋。

    • 對(duì)重要的計(jì)算添加注釋?zhuān)f(shuō)明其功能。

    • 過(guò)長(zhǎng)的函數(shù)實(shí)現(xiàn),應(yīng)將其語(yǔ)句按實(shí)現(xiàn)的功能分段,添加注釋進(jìn)行說(shuō)明。

    • 添加常量及變量的注釋時(shí),應(yīng)注釋被保存值的含義(必選),合法取值的范圍(可選)。

    • 將鼠標(biāo)放置對(duì)應(yīng)SQL語(yǔ)句之后,使用Ctrl+/Cmd+/快捷鍵即可注釋當(dāng)前語(yǔ)句。如果您需要注釋多行語(yǔ)句,則可以選中需要注釋的語(yǔ)句,使用Ctrl+/Cmd+/批量完成注釋。

      說(shuō)明
      • Windows系統(tǒng)僅支持使用Ctrl+/快捷鍵注釋SQL語(yǔ)句。

      • Mac系統(tǒng)僅支持使用Cmd+/快捷鍵注釋SQL語(yǔ)句。