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

Nelegální použití datového typu LONG Oracle

Svou hodnotu LONG RAW můžete převést na BLOB v bloku PL/SQL a poté zakódovat base64, aby:

CREATE OR REPLACE FUNCTION to_base64 (
   vcodem     IN FOEMP.COD_EMPR%TYPE,
   vcodempl   IN FOEMP.COD_EMPL%TYPE)
   RETURN VARCHAR2
IS
  l_blob BLOB;
  l_long_raw LONG RAW;
BEGIN
  SELECT fot_empl INTO l_long_raw
    FROM foemp
   WHERE COD_EMPL = vcodempl AND COD_EMPR = vcodem;
  l_blob := TO_BLOB(l_long_raw);
  RETURN UTL_RAW.cast_to_varchar2 (UTL_ENCODE.base64_encode (l_blob));
END;
/

Samozřejmě, důrazně doporučuje převést LONG RAW sloupce do binárních sloupců LOB (BLOB) ; stále ukládání dat jako LONG nebo LONG raw se nyní zdá poněkud zastaralé.



  1. mysql swap položky s číslem řádku

  2. PHP - předání skryté hodnoty do jquery

  3. seskupit podle názvu měsíce v sql

  4. Jak funguje TIMEDIFF() v MariaDB