... gibt es einen Standard oder eine Konvention für die Formatierung des SQL-Codes?
Standard, nein. Für einen SQL-Parser können Sie eine gesamte SQL-Anweisung in eine Zeile setzen.
Konvention, sicher gibt es viele. Dies hängt davon ab, ob Sie versuchen, die Änderbarkeit zu maximieren oder den Speicherplatz zu minimieren. Ich habe für beide Fälle SQL-Formatierer geschrieben.
Ich habe nur bestimmte Zeichenkombinationen verwendet, um zu erfahren, wo die SQL-Anweisung gebrochen werden soll.
Hier ist ein Beispiel aus einem Java DB2 SQL-Formatierer , den ich geschrieben habe. Ein anderes Java-Programm hat den Java-Code generiert. Das SQL kam direkt aus den SYSIBM
Tabellen.
protected void prepareIndex00Select(String codeFacl)
throws SQLException {
StringBuffer sb = new StringBuffer();
sb.append("SELECT CODE_FACL, SEQ_FACL, FILLER_TOF ");
sb.append(" , CODE_TOF, NAME_FACL, NAME_LENGTH ");
sb.append(" , CODE_FMB, ID_NCIC_ORI, NBR_PRINTER_PREFIX ");
sb.append(" , ID_PERSONNEL_OFC, COMPLEX_CODE ");
sb.append(" , PHS_CODE, DESIG_FACL_GRP, IND_DESIG_AUTH ");
sb.append(" , CODE_FACL_I_T, INTKEY_FACL, IND_CDM_SENTENCING ");
sb.append(" , MAL_FEM_IND, DEL_AFTER, IND_INMATES ");
sb.append(" , VALUE_SO_CPU_STD, VALUE_SO_CPU_DAY ");
sb.append(" , CODE_CAT, VALUE_DCN, XIDBKEY ");
sb.append(" , FACL_FK_REGN ");
sb.append(" FROM ");
sb.append(creator);
sb.append(".FACL ");
sb.append(" WHERE CODE_FACL = ? ");
if (additionalSQL != null) sb.append(additionalSQL);
psIndex00 = connection.prepareStatement(sb.toString());
psIndex00.setString(1, codeFacl);
} // End prepareIndex00Select method