2020-01-17
PostgreSQL覚書 RETURNIG *
UPDATE、INSERT、DELETE文の最後に「RETURNING *」を加えてやると、「更新件数が返ってくる」というのをネット上で見たのだが、厳密にはどうやらそうではないらしいのでメモっておく。
INSERT .... RETURNING *
と書くとINSERTしたデータ行がすべて返ってくるのであって、件数が返ってくるわけではないのだ。
結局、
INSERT .... RETURNING {キー項目}
みたいに書いて、返ってきたデータの行数から更新件数を導きだす必要があるのだ。
だから、Javaなんかだと、SQL文を実行後のResultSetのgetRowメソッドを使う。
例)
int kensu = rs.getRow();
みたいに、返ってきたデータの行数を取得してやるのだ。
中途半端な日本語を書かれると、こういう勘違いをしてしまう。