hajuBlog

webとかに関する自分のメモ的なブログ

Torqueで直接SQL記述して実行

2008-05-15 16:14:57 | sql
こないだブログで書いたBasePeer.execute使い方メモ

問い合わせにはexecuteQuery()メソッドを利用

String findHogeSql = "SELECT * FROM A_TABLE";

List findResult = BasePeer.executeQuery(findHogeSql);
Record fooCount =(Record)findResult.get(0);


追加・更新・削除にはexecuteStatement()メソッドを利用

String updateHogeSql = ”DELETE FROM A_TABLE”;
int updateUser = BasePeer.executeStatement(updateUserSql);


あんまり使うときないと思うけど、複雑なSQLとかこれ使ったらいいのかも。

Oracle ORA-01795でハマった

2008-05-13 23:44:41 | sql
Turbine案件なんですが、わけあってINを使ってアップデートしなければならなかったのですが、そのときハマりました。DBはOracleです。

crit.addIn(TurbineHogePeer.FOO_ID,fooid);

このIDの件数分アップデートしようとしたところ、「ORA-01795: リストに指定できる式の最大数は1000です。」と表示されました。IDの数は1927件だったのでオーバーしまくりでした。

知らなかったので、なんだコレーーって感じでした。
調べたところ副問い合わせにすれば1000要素の制限にかからないらしいのですが、今回はBasePeer.execute使ってSQLを書いていこうと思います。

うまくいくといいな。