... SQLコードのフォーマット方法に関する標準または規約はありますか?
標準、いいえ。SQLパーサーに関する限り、SQLステートメント全体を1行に置くことができます。
大会、確かにたくさんあります。変更可能性を最大化しようとしているのか、スペースを最小化しようとしているのかによって異なります。どちらの場合もSQLフォーマッターを作成しました。
特定の文字の組み合わせを使用して、SQLステートメントをどこで中断するかを指示しました。
以下は、私が作成したJava DB2 SQLフォーマッターの例です。別のJavaプログラムがJavaコードを生成しました。SQLはSYSIBM
テーブルから直接取得されました。
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