LearningCpp
LearningCpp

Reputation: 972

SQL Error: ORA-00904 "SYS"."DBMS_CRYPTO"."HASH": invalid identifier error while updating a table in Oracle12C

Below is the update statement that i am trying to run

update
    IFTEST_DBF
set
    M_TEST_SIG=lower(sys.dbms_crypto.hash(utl_raw.cast_to_raw(replace(M_A||M_B||M_C||M_D||M_E||M_F,' ','')),3))
where
    M_TYPE='PRIMARY'
    and M_NEW='Y'

Below is the error while i am updating a table in oracle12c , The same statement used to run very fine in oracle 11g but after migrating it to 12C , i am facing this issue. Am i missing something .

Error at Command Line : 6 Column : 22 Error report - SQL Error: ORA-00904: "SYS"."DBMS_CRYPTO"."HASH": invalid identifier 00904. 00000 - "%s: invalid identifier" *Cause:

Upvotes: 1

Views: 5304

Answers (1)

zzpzaf
zzpzaf

Reputation: 158

The DBMS_CRYPTO is a package, which by default, is owned by SYS schema. So, before to use it, you have to grant the execute privilege to the user/schema you are going to use it, e.g.:

GRANT EXECUTE ON dbms_crypto TO "my_schema";

Upvotes: 3

Related Questions