Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle - रिकॉर्ड अपडेट करें और उसी क्वेरी में अपडेट की गई तारीख लौटाएं

आपने सादे JDBC की तुलना में कोड को सरल बनाने के लिए संभवतः JDBCTemplate का उपयोग करने का निर्णय लिया है .

यह विशेष समस्या IMHO सादा JDBC . बनाता है समाधान अन्य उत्तर में प्रस्तावित है। बहुत आसान है, इसलिए मैं निश्चित रूप से JDBCTemplate से डेटाबेस कनेक्शन प्राप्त करने और JDBC तरीके से डालने की सलाह दूंगा।

JDBCTemplate का उपयोग करने का सबसे सरल उपाय जो मेरे दिमाग में आता है, वह है इन्सर्ट को PROCEDURE में लपेटना और टाइमस्टैम्प को OUT . के रूप में लौटाएं पैरामीटर।

सरल उदाहरण (आवश्यकतानुसार समय तर्क समायोजित करें)

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;
/

कॉल 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 लौटाया गया मान शामिल है उदा। [P_TIME:2019-10-19 11:58:10.0]

लेकिन मैं केवल दोहरा सकता हूं, इस विशेष उपयोग के मामले में IMHO JDBC 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. दृश्य से तालिका बनाएं - Oracle SQL SQL त्रुटि:ORA-01723:शून्य-लंबाई वाले स्तंभों की अनुमति नहीं है

  2. OCIEnvNlsCreate() विफल रहा। जब मैं अपने ऑरैकल डेटाबेस को php . में कनेक्ट करने का प्रयास करता हूं

  3. Oracle Regexp \n,\r और \t को स्पेस से बदल देगा

  4. Oracle में कस्टम रिकॉर्ड प्रकारों की सूची लाने के लिए MyBatis मैपिंग

  5. वसंत jdbc oracle के साथ सत्र समय क्षेत्र सेट करना