در نسخه 12c، اوراکل با ارائه تابع STANDARD_HASH، امکان محاسبه hash value را برای یک فیلد و یا عبارت فراهم کرده است:
SQL> select id,salary,substr(STANDARD_HASH(id||salary),1,20) hash_id_sal from tbl1; ID SALARY HASH_ID_SAL ---------- ---------- ---------------------- 1 10 5E796E48332AF4142B10 2 12 E2154FEA5DA2DD0D1732 3 17 F44A286F486D11990238 4 18 93AC1946CB917ABC4735
با این روش می توانیم از تغییر مقدار سطرهای جدول باخبر شویم. البته در نسخه های قبل از 12c هم می توانستیم از توابع دیگری نظیر ora_hash بدین منظور استفاده کنیم:
SQL> select id,salary,ora_hash(id||salary) hash_id_sal from tbl1; ID SALARY HASH_ID_SAL ---------- ---------- ----------- 1 10 3316966336 2 12 1402677848 3 17 3795753203 4 18 936769390
در نسخه 21c هم قابلیت جدیدی در این زمینه ارائه شد و اوراکل با معرفی تابع checksum، امکان شناسایی تغییر دیتا را در سطح ستون فراهم کرده است.