Solución:
Parece que todavía no es parte de PL / SQL en 12c
.
Como solución alternativa, utilice SELECT INTO
en PL / SQL:
SQL> set serveroutput on
SQL> DECLARE
2 str VARCHAR2(40);
3 BEGIN
4 SELECT STANDARD_HASH('test') INTO str FROM dual;
5 dbms_output.put_line(str);
6 END;
7 /
A94A8FE5CCB19BA61C4C0873D391E987982FBBD3
PL/SQL procedure successfully completed.
SQL>
Sugeriría a crear una funcióny utilícelo siempre que lo necesite en PL / SQL.
Por ejemplo,
SQL> CREATE OR REPLACE FUNCTION STANDARD_HASH_OUTPUT(str IN VARCHAR2)
2 RETURN VARCHAR2
3 AS
4 op VARCHAR2(40);
5 BEGIN
6 SELECT STANDARD_HASH(str) INTO op FROM dual;
7 RETURN op;
8 END;
9 /
Function created.
Llama a función directamente en Bloque PL / SQL:
SQL> BEGIN
2 dbms_output.put_line(STANDARD_HASH_OUTPUT('test'));
3 END;
4 /
A94A8FE5CCB19BA61C4C0873D391E987982FBBD3
PL/SQL procedure successfully completed.
SQL>
Para el texto, STANDARD_HASH es lo mismo que DBMS_CRYPTO.HASH con SHA1:
begin
dbms_output.put_line(dbms_crypto.hash(cast('test' as clob), dbms_crypto.hash_sh1));
end;
/
Producción:
A94A8FE5CCB19BA61C4C0873D391E987982FBBD3
Para otros tipos de datos, no está documentado cómo se pasan a la función hash.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)