# Considerações Iniciais

### **Introdução**

Para rotinas em SQL, deve-se observar as seguintes considerações:

1. **Palavras reservadas** devem ser escritas **integralmente em letras maiúsculas**.
2. Nomes de **tabelas e campos** devem utilizar a notação **PascalCase**, mantendo **siglas em letras maiúsculas**.
3. Os **aliases de tabelas** devem ser escritos **integralmente em letras maiúsculas** e utilizar abreviações **curtas e significativas** da tabela de origem.
4. **Parâmetros** devem possuir o **prefixo "P"** e utilizar a notação **PascalCase**.
5. Para facilitar a implementação e a leitura das cláusulas, as **palavras reservadas devem ser alinhadas de forma que exista uma coluna contínua separando-as dos campos e tabelas**, conforme o exemplo abaixo:

```SQL
    SELECT SUM(NF.ValorNF) AS ValorNF,
           CTE.CodigoCTE
      FROM NotaFiscal AS NF
INNER JOIN ConhecimentoCTE AS CTE
        ON CTE.CodigoNF = NF.CodigoNF
     WHERE NF.EmpresaID = :PNotaFiscalEmpresaID
       AND CTE.EmpresaID = :PConhecimentoCTEEmpresaID
  GROUP BY CTE.CodigoCTE
 UNION ALL
    SELECT (SELECT CodigoXML
              FROM ArquivoXML) AS CodigoXML,
           RELCTE.CodigoCTE
      FROM DocumentoXML AS DOCXML
INNER JOIN (SELECT CodigoCTE
              FROM RelacaoCTE) AS RELCTE
        ON RELCTE.CodigoCTE = DOCXML.CodigoCTE
     WHERE DOCXML.EmpresaID = :PDocumentoXMLEmpresaID
  ORDER BY 1
```

Perceba que, na cláusula do exemplo acima, as linhas 4 e 14 possuem as **maiores palavras reservadas/expressões**. Dessa forma, **as demais palavras reservadas recebem a adição de espaços em branco à esquerda**, para que **todas as expressões terminem na mesma coluna**. Assim, forma-se uma **coluna contínua ao longo de toda a cláusula**, separando as palavras reservadas à esquerda dos campos e tabelas à direita.