Pesquisando no Google por
oracle convert long to varchar
fornece alguns resultados, muitos dos quais sugerem o uso de funções, tabelas (temporárias), etc. Tudo isso está fora de questão no meu caso específico, pois não tenho permissão para criar nenhum objeto no Oracle
servidor de banco de dados. Finalmente encontrei uma amostra que pude modificar para o meu caso de uso. A amostra é de este página , por alguém que se chama Sayan Malakshinov. Depois de modificar sua amostra, acabei com isso:
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)
)
')
Isso omite algumas colunas de
ALL_TRIGGERS
mas recebo todo o corpo do gatilho (já que nenhum dos gatilhos tem mais de 4000 caracteres).