Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Oracle STANDARD_HASH tidak tersedia di PLSQL?

Sepertinya itu belum menjadi bagian dari PL/SQL di 12c .

Sebagai solusinya, gunakan SELECT INTO di 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>

Saya akan menyarankan untuk membuat fungsi , dan gunakan kapan pun Anda membutuhkannya di PL/SQL .

Misalnya,

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.

Panggil fungsi langsung di blok 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. Konversi String dengan Zona Waktu Singkat ke Timestamp

  2. fungsi agregat khusus yang ditentukan pengguna menggunakan plsql

  3. Bagaimana cara memanggil prosedur tersimpan Oracle dari pabrik data Azure v2

  4. Bagaimana cara saya mengisi tanggal yang hilang berdasarkan grup di Oracle

  5. menggunakan nilai yang dipisahkan koma di dalam klausa IN untuk kolom NUMBER