sql >> Databáze >  >> RDS >> Oracle

Oracle STANDARD_HASH není k dispozici v PLSQL?

Zdá se, že ještě není součástí PL/SQL v 12c .

Jako náhradní řešení použijte SELECT INTO v 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>

Navrhoval bych vytvořit funkci a použijte jej, kdykoli jej potřebujete, v PL/SQL .

Například,

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.

Zavolejte funkci přímo v bloku PL/SQL :

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

PL/SQL procedure successfully completed.

SQL>


  1. Jak nainstalovat balíček Python na Linux tak, aby byl nalezen již fungujícím rozšířením PostgreSQL 13 plpython3u?

  2. Ztráta přesnosti při vkládání double do MySQL prostřednictvím PDO

  3. Jak používat Zend Framework k exportu do CSV Pomocí funkce INTO OUTFILE mySQL

  4. Upozornění PHP:mysqli_connect():(HY000/2002):Připojení odmítnuto