... adakah standar atau konvensi untuk bagaimana kode SQL harus diformat?
Standar, tidak. Anda bisa meletakkan seluruh pernyataan SQL pada satu baris sejauh menyangkut parser SQL.
Konvensi, tentu ada banyak. Itu tergantung apakah Anda mencoba memaksimalkan perubahan atau meminimalkan ruang. Saya telah menulis formatters SQL untuk kedua kasus.
Saya hanya menggunakan kombinasi karakter tertentu untuk memberi tahu saya di mana saya harus memecahkan pernyataan SQL.
Berikut adalah satu contoh dari formatter Java DB2 SQL yang saya tulis. Program Java lainnya menghasilkan kode Java. SQL datang langsung dari SYSIBM
tabel.
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