oracle中与StarRock表数据使用MD5值进行比较

第一步:查看oracle中有没有执行权限

--查看是否有这个包
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_NAME = 'DBMS_CRYPTO' AND OBJECT_TYPE = 'PACKAGE';

--查看是否有这个包的执行权限
SELECT * FROM USER_TAB_PRIVS WHERE TABLE_NAME = 'DBMS_CRYPTO';

第二步:如果上述SQL均能查到内容,即可计算oracle的MD5值;

SELECT
	RAWTOHEX(DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW(FLEX_VALUE_SET_ID || FLEX_VALUE_ID || FLEX_VALUE), 2))
FROM
	FLEX_VALUES
order by
	FLEX_VALUE_SET_ID,
	FLEX_VALUE_ID;

第三步:查询starRocks表字段的MD5值,然后进行比较。

SELECT
	UPPER(MD5(
        CONCAT(
            CAST(FLEX_VALUE_SET_ID AS VARCHAR),
            CAST(FLEX_VALUE_ID AS VARCHAR),
            CAST(FLEX_VALUE AS VARCHAR)
        )
    )) AS md5_hash
FROM
	ODS.FLEX_VALUES
order by
	FLEX_VALUE_SET_ID,
	FLEX_VALUE_ID;

你可能感兴趣的:(oracle,哈希算法,数据库)