Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle STANDARD_HASH не е наличен в PLSQL?

Изглежда, че все още не е част от PL/SQL в 12c .

Като заобиколно решение използвайте SELECT INTO в 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>

Бих предложил да създадете функция и го използвайте, когато имате нужда от него в PL/SQL .

Например,

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.

Извикайте функцията директно в PL/SQL блок :

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

PL/SQL procedure successfully completed.

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между две стойности за година, месец и ден в Oracle

  2. Как мога да актуализирам данни в CLOB полета с помощта на>> подготвена заявка <<с ODP (Oracle.DataAccess)?

  3. как да проверите всички ограничения на таблица в oracle

  4. проблем при създаването на заглавки с помощта на spool в sqlplus

  5. Възможно ли е да съхраните изображение в изданието oracle 11g express?