Dans mon dernier emploi, nous avons travaillé sur une base de données d'une application intense et j'ai développé une certaine mise en forme de normes, de sorte que nous sommes tous d'écrire du SQL avec une mise en commun. Nous avons également élaboré des normes de codage, mais ceux-ci sont plus spécifiques de la plateforme, donc je ne vais pas entrer dans les ici.
Je suis curieux de savoir ce que d'autres personnes utiliser SQL normes de formatage. Contrairement à la plupart des autres de codage des environnements que je n'ai pas trouvé un consensus en ligne pour eux.
Afin de couvrir les principaux types de requêtes:
select
ST.ColumnName1,
JT.ColumnName2,
SJT.ColumnName3
from
SourceTable ST
inner join JoinTable JT
on JT.SourceTableID = ST.SourceTableID
inner join SecondJoinTable SJT
on ST.SourceTableID = SJT.SourceTableID
and JT.Column3 = SJT.Column4
where
ST.SourceTableID = X
and JT.ColumnName3 = Y
Il y a un certain désaccord au sujet des retours à la ligne après "select", "de" et "où". L'intention sur la ligne sélectionner est de permettre à d'autres opérateurs tels que "top X" sans modifier la mise en page. Ensuite, il suffit de garder une cohérence de saut de ligne après que la clé de la requête éléments, semblait résulter un bon niveau de lisibilité.
Déposer le saut de ligne après le "de" et "où" serait compréhensible de révision. Toutefois, dans les requêtes telles que la "mise à jour" ci-dessous, nous voyons que le saut de ligne après le "où" nous donne un bon alignement de la colonne. De même, un saut de ligne après le "groupe" ou "order by" garde de nos mises en page en colonnes clair et facile à lire.
update
TargetTable
set
ColumnName1 = @value,
ColumnName2 = @value2
where
Condition1 = @test
Enfin un insert:
insert into TargetTable (
ColumnName1,
ColumnName2,
ColumnName3
) values (
@value1,
@value2,
@value3
)
La plupart de ces ne pas s'écarter loin de la façon de MS SQL Server Directions Studio / query analyser écrire SQL, cependant, ils ne diffèrent.
J'ai hâte de voir si il y a un consensus dans le Débordement de la Pile de la communauté sur ce sujet. Je suis constamment étonné de voir comment de nombreux développeurs peuvent suivre les directives de mise en forme pour les autres langues, et tout à coup aller de manière aléatoire lors de la frappe SQL.