Wyszukiwanie w Google hasła oracle convert long to varchar
daje sporo wyników, z których wiele sugeruje użycie funkcji, (tymczasowych) tabel itp. Wszystkie te są wykluczone w moim konkretnym przypadku, ponieważ nie mogę tworzyć żadnych obiektów w Oracle
baza danych/serwer.
W końcu znalazłem próbkę, którą mogłem zmodyfikować dla mojego przypadku użycia. Próbka pochodzi z tego strona , przez kogoś, kto nazywa się Sayan Malakshinov. Po zmodyfikowaniu jego próbki skończyło się na tym:
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)
)
')
Pomija to niektóre kolumny z ALL_TRIGGERS
ale otrzymuję całą treść wyzwalacza (ponieważ żaden wyzwalacz nie jest dłuższy niż 4000 znaków).