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

Oracle को एक चुनिंदा खंड द्वारा परिभाषित डेटा खंड के लिए चेकसम मान मिलता है

आप DBMS_SQLHASH.GETHASH . का उपयोग कर सकते हैं इसके लिए। क्वेरी परिणामों को क्रमित किया जाना चाहिए और उनमें कोई LOB नहीं होना चाहिए, या परिणाम नियतात्मक नहीं होंगे।

select dbms_sqlhash.gethash(q'[select * from some_table order by 1,2]', digest_type => 1)
from dual;

जहां डाइजेस्ट_टाइप 1 =HASH_MD4, 2 =HASH_MD5, 3 =HASH_SH1।

वह पैकेज डिफ़ॉल्ट रूप से किसी को नहीं दिया जाता है। इसका उपयोग करने के लिए, आपको SYS के रूप में लॉगऑन करने और इसे चलाने के लिए किसी की आवश्यकता होगी:

SQL> grant execute on dbms_sqlhash to <your_user>;

क्वेरी परिणामों का आदेश दिया जाना चाहिए, जैसा कि "बग 17082212:DBMS_SQLHASH अलग-अलग पहुंच पथ से भिन्न परिणाम" में वर्णित है।

मुझे यकीन नहीं है कि LOB काम क्यों नहीं करते हैं, लेकिन यह ORA_HASH फ़ंक्शन के तरीके से संबंधित हो सकता है LOB के साथ अच्छा काम नहीं करता है। जोनाथन लुईस के इस लेख में ORA_HASH . के कुछ उदाहरण शामिल हैं एक ही LOB डेटा के लिए अलग-अलग परिणाम लौटाता है। और SQL भाषा संदर्भ के हाल के संस्करण चेतावनी देते हैं कि ORA_HASH LOB का समर्थन नहीं करता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NEW_TIME () Oracle में फ़ंक्शन

  2. ओरेकल - फास्ट रिफ्रेश और जॉइन के साथ एक भौतिक दृश्य कैसे बनाएं?

  3. हाइबरनेट में Oracle XMLType कॉलम का उपयोग करना

  4. Oracle में डेटाटाइम मान से भिन्नात्मक सेकंड कैसे लौटाएं?

  5. MERGE स्टेटमेंट में कई कॉलम अपडेट करें ORACLE