Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle - perbarui catatan dan kembalikan tanggal yang diperbarui dalam permintaan yang sama

Anda memutuskan untuk menggunakan JDBCTemplate kemungkinan besar untuk menyederhanakan kode dibandingkan dengan JDBC biasa .

Masalah khusus ini IMHO membuat JDBC biasa solusi seperti yang diusulkan dalam jawaban lain jauh lebih sederhana, jadi saya sangat merekomendasikan untuk mendapatkan koneksi database dari JDBCTemplate dan membuat penyisipan dengan cara JDBC.

Solusi paling sederhana menggunakan JDBCTemplate yang muncul di benak saya adalah membungkus sisipan dalam PROCEDURE dan kembalikan stempel waktu sebagai OUT parameter.

Contoh sederhana (Sesuaikan logik waktu sesuai kebutuhan)

create procedure insert_with_return_time (p_str VARCHAR2, p_time OUT DATE) as
BEGIN 
   insert into identity_pk(pad) values(p_str);
   p_time := sysdate;
END;
/

Panggilan dilakukan menggunakan SimpleJdbcCall

SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("insert_with_return_time");
SqlParameterSource params = new MapSqlParameterSource().addValue("p_str", str);
Map<String, Object> out = jdbcCall.execute(params);

Map berisi nilai yang dikembalikan mis. [P_TIME:2019-10-19 11:58:10.0]

Tapi saya hanya bisa mengulangi, dalam kasus penggunaan khusus ini adalah IMHO JDBC a rescue from JDBCTemplate;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbedaan Oracle IN vs Exist?

  2. Oracle diff:bagaimana cara membandingkan dua tabel?

  3. jumlah maksimum level SQL rekursif (50) terlampaui

  4. Buat formulir Apex dengan banyak halaman

  5. PL/SQL:ORA-00904:pengenal tidak valid &PL/SQL:Pernyataan diabaikan&PLS-00364:penggunaan variabel indeks loop tidak valid