sql >> Database teknologi >  >> RDS >> Oracle

Oracle STANDARD_HASH er ikke tilgængelig i PLSQL?

Det ser ud til, at det endnu ikke er en del af PL/SQL i 12c .

Som en løsning kan du bruge SELECT INTO i 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>

Jeg vil foreslå at oprette en funktion , og brug det, når du har brug for det i PL/SQL .

For eksempel,

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.

Kald funktionen direkte i PL/SQL-blok :

SQL> BEGIN
  2     dbms_output.put_line(STANDARD_HASH_OUTPUT('test'));
  3  END;
  4  /
A94A8FE5CCB19BA61C4C0873D391E987982FBBD3

PL/SQL procedure successfully completed.

SQL>


  1. PostgreSQL-forespørgsel om at vælge data fra sidste uge?

  2. Hvad er datotypen i npgsql?

  3. Hurtigste måde at klone række i SQL

  4. Udforskning af MySQL Binlog Server – Ripple