Buscando en Google oracle convert long to varchar
da bastantes resultados, muchos de los cuales sugieren el uso de funciones, tablas (temporales), etc. Todos estos están fuera de cuestión en mi caso específico, ya que no tengo permitido crear ningún objeto en Oracle
base de datos/servidor.
Finalmente encontré una muestra que pude modificar para mi caso de uso. La muestra es de este página , por alguien que se hace llamar Sayan Malakshinov. Después de modificar su muestra, terminé con esto:
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)
)
')
Esto omite algunas columnas de ALL_TRIGGERS
pero obtengo todo el cuerpo del disparador (ya que ninguno de los disparadores tiene más de 4000 caracteres).