Вы можете использовать следующее утверждение:
SELECT table_id, DBMS_OBFUSCATION_TOOLKIT.MD5(input=> UTL_RAW.CAST_TO_RAW(dose_detail)) FROM t1 WHERE table_id IN (
SELECT table_id FROM (
SELECT table_id, DBMS_CRYPTO.HASH(dose_detail,2)
FROM t1
MINUS
SELECT table_id, DBMS_CRYPTO.HASH(dose_detail,2)
FROM t2));
, поскольку DBMS_CRYPTO поддерживает CLOBS, тогда как DBMS_OBFUSCATION_TOOLKIT - нет, но улучшение зависит от объема данных, возвращаемых внутренним оператором MINUS, и других факторов. Если вы создаете материализованное представление, лучше использовать следующее утверждение:
CREATE MATERIALIZED VIEW mv_t
BUILD IMMEDIATE
REFRESH FAST
ON COMMIT
AS
SELECT table_id FROM (
SELECT table_id, DBMS_CRYPTO.HASH(dose_detail,2)
FROM t1
MINUS
SELECT table_id, DBMS_CRYPTO.HASH(dose_detail,2)
FROM t2);
таким образом вы можете получить доступ к своим данным, используя оператор:
SELECT table_id,
DBMS_OBFUSCATION_TOOLKIT.MD5(input=> UTL_RAW.CAST_TO_RAW(dose_detail))
FROM t1