Oracle
 sql >> база данни >  >> RDS >> Oracle

Конвертирайте LONG във varchar в Oracle

Търсене чрез Google за oracle convert long to varchar дава доста резултати, много от които предполагат използването на функции, (временни) таблици и т.н. Всичко това е изключено в моя конкретен случай, тъй като не ми е позволено да създавам обекти в Oracle база данни/сървър.

Най-накрая намерих проба, която успях да модифицирам за моя случай на употреба. Примерът е от това страница , от някой, наричащ себе си Саян Малакшинов. След като промених неговата извадка, завърших с това:

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)
    )
')

Това пропуска някои колони от ALL_TRIGGERS но получавам цялото тяло на тригера (тъй като никой от тригерите не е по-дълъг от 4000 знака).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да предоставите достъп до v$ изгледи (v$session,v$instance)

  2. Напишете изглед на Oracle DB на базата на различна разлика във времето на колоната

  3. Използване на низ в съхранена процедура на Oracle

  4. Заявка за данни от XML

  5. Масово вмъкване на Oracle с помощта на SQL Developer