CREATE OR REPLACE PACKAGE my_security_pkg
AS
FUNCTION hash_value(
p_input_string_in IN VARCHAR2
)
RETURN VARCHAR2 DETERMINISTIC;
END my_security_pkg;
Package created.
CREATE OR REPLACE PACKAGE BODY my_security_pkg
AS
FUNCTION hash_value(
p_input_string_in IN VARCHAR2
)
RETURN VARCHAR2 DETERMINISTIC
IS
BEGIN
RETURN DBMS_CRYPTO.HASH(UTL_I18N.string_to_raw(p_input_string_in),DBMS_CRYPTO.hash_sh512);
END hash_value;
END my_security_pkg;
Package Body created.
DROP TABLE my_emp
ORA-00942: table or view does not existMore Details: https://docs.oracle.com/error-help/db/ora-00942
CREATE TABLE my_emp
AS( SELECT * FROM SCOTT.emp )
Table created.
ALTER TABLE my_emp
ADD hashkey VARCHAR2(512)
GENERATED ALWAYS AS(
CAST(MY_SECURITY_PKG.hash_value(TO_CHAR(empno) || '|' || ename || '|' || job || '|' || TO_CHAR(mgr) || '|' || TO_CHAR(hiredate, 'mm/dd/yyyy') || '|' || TO_CHAR(sal) || '|' || TO_CHAR(comm) || '|' || TO_CHAR(deptno))
AS VARCHAR2(512))
)
Table altered.