Ricerca su Google di oracle convert long to varchar
dà parecchi risultati, molti dei quali suggeriscono l'uso di funzioni, tabelle (temporanee) ecc. Tutti questi sono fuori questione nel mio caso specifico poiché non mi è permesso creare alcun oggetto in Oracle
database/server.
Alla fine ho trovato un campione che sono stato in grado di modificare per il mio caso d'uso. L'esempio proviene da questo pagina , da qualcuno che si fa chiamare Sayan Malakshinov. Dopo aver modificato il suo campione, ho finito con questo:
select * from openquery(SERVERLINKNAME, '
select *
from
xmltable( ''/ROWSET/ROW'' passing dbms_xmlgen.getXMLType(''
select
trigger_name,
TRIGGER_BODY
from ALL_TRIGGERS
where TRIGGER_BODY is not null
and owner = ''''OURUSERNAME''''
'')
columns
trigger_name varchar2(80),
TRIGGER_BODY varchar2(4000)
)
')
Questo omette alcune colonne da ALL_TRIGGERS
ma ottengo l'intero corpo del trigger (poiché nessuno dei trigger è più lungo di 4000 caratteri).