2011-06-13 67 views
0

我有在JSP中指定的以下MySQL查詢。我想弄清楚一個等價的查詢,我可以在Oracle數據庫中正確運行,因爲我正在將我的項目從MySQL遷移到Oracle DB。如何在Oracle中使用MySQL「Statement.RETURN_GENERATED_KEYS」來檢索關鍵值?

此「剪輯」表的主鍵是「clip_id」,它實際上不包含在此查詢中。在Oracle中,我在「clip_id」上創建了一個序列和觸發器,因爲它的值應該是自動遞增的。

stmt.executeUpdate("INSERT INTO clips " + 
     "(camera_id, num_recording, num_references, block_id_start, 
        block_duration) " + 
     "VALUES ("+camera_id + ","+"1, " + 
      "1,"+block_id_start + "," + 
      block_duration + ");", 
      Statement.RETURN_GENERATED_KEYS); 

     rs = stmt.getGeneratedKeys(); 

     if(rs.next()) 
     { 
      clip_id = rs.getInt(1); 
     } 

任何意見或建議表示讚賞。謝謝。

+0

將clip_id返回到v_clip_id中...請參閱:http://www.oracle-base.com/articles/misc/dml_returning_into_clause.php – tbone 2011-06-14 18:21:47

回答

1

爲了使我的評論答案:

使用INTO子句返回時,看到here