JavaでSEQオブジェクトで割り当てられたキーを取得する
Javaでインサートする時に、プライマリキーがSEQオブジェクトで割り当てられたとします。
その値を取得して、同じサロゲートキーを使って別のテーブルにもインサートしたいという場合があります。
このような場合はgetGeneratedKeysメソッドを使用してプライマリキーを取得できます。
以下、例です。
PreparedStatement ps = null; ResultSet rs = null; try{ ps = conn.preparedStatement(strSql,new String[]{"id"});// 第二引数にプライマリキー列名を指定する ps.executeUpdate(); rs = ps.getGeneratedKeys(); rs.next(); long seq = rs.getLong(1);// プライマリキーを取得
但し、セレクトインサートでは、executeUpdateメソッドでエラーとなるため、普通のインサート文でないといけません。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント