ラベル SQL の投稿を表示しています。 すべての投稿を表示
ラベル SQL の投稿を表示しています。 すべての投稿を表示

2013年12月2日月曜日

iBatisでSQLのWHEREでINキーワードを使うには

iBatisでSQLのWHEREでINキーワードを使うには、parameterClassにListを使用する。 sqlMap
<select id="select-test" resultMap="MyTableResult" parameterClass="list">
select * from my_table where col_1 in
  <iterate open="(" close=")" conjunction=",">
   #[]#
  </iterate>
</select>
Java
List list = new ArrayList(3);
list.add("1");
list.add("2");
list.add("3");
List objs = sqlMapClient.queryForList("select-test",list);

2013年11月27日水曜日

サクラエディタのSQL崩しマクロ

サクラエディタでSQL崩しをするためのマクロ。 SQL崩し.mac として保存。 [設定]→[共通設定]→マクロタブを選択。 [名前]にS「SQL崩し」、[File]に保存したマクロファイルを指定して[設定]ボタンをクリックする。
//キーボードマクロのファイル

//S_SelectAll(0); // すべて選択
//S_ToUpper(0); // 大文字
S
_ReplaceAll('\\t', '    ', 156); // タブをスペースに
S_ReDraw(0); // 再描画
S_ReplaceAll('[ ]+', ' ', 156); // 連続スペースをまとめる
S_ReDraw(0); // 再描画
S_ReplaceAll('\\r', '\\n', 156); // キャリッジリターン削除
S_ReDraw(0); // 再描画
S_ReplaceAll('^\\n', '', 156); // 空行削除
S_ReDraw(0); // 再描画
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('^ ', '', 28); // 行頭のスペース削除
S_ReDraw(0); // 再描画
S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('$', ' ', 28); // 行末にスペース追加
S_ReDraw(0); // 再描画

S_ReplaceAll('SELECT ', 'SELECT \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('INSERT ', 'INSERT \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('UPDATE ', 'UPDATE \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('DELETE ', 'DELETE \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('FROM ', 'FROM \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('WHERE ', 'WHERE \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('ORDER BY ', 'ORDER BY \\n', 28); // 
S_ReDraw(0); // 再描画
S_ReplaceAll('GROUP BY ', 'GROUP BY \\n', 28); // 
S_ReDraw(0); // 再描画

S_ReplaceAll('^', '    ', 28); // 行頭に4つスペース
S_ReDraw(0); // 再描画

S_GoFileTop(0); // ファイルの先頭に移動
S_ReplaceAll('    SELECT ', 'SELECT', 28); // SELECTのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    INSERT ', 'INSERT', 28); // INSERTのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    UPDATE ', 'UPDATE', 28); // UPDATEのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    DELETE ', 'DELETE', 28); // DELETEのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    FROM ', 'FROM ', 28); // FROMのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    WHERE ', 'WHERE', 28); // WHEREのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    ORDER BY ', 'ORDER BY ', 28); // ORDER BYのインデント解除
S_ReDraw(0); // 再描画
S_ReplaceAll('    GROUP BY ', 'GROUP BY ', 28); // GROUP BYのインデント解除
S_ReDraw(0); // 再描画

S_ReplaceAll('\\Z    ON ', ' ON ', 28); // JOINの途中で折り返さない
S_ReDraw(0); // 再描画