sql >> Database teknologi >  >> RDS >> Oracle

Konverter LONG til varchar i Oracle

Søger gennem Google efter oracle convert long to varchar giver en del resultater, hvoraf mange tyder på brug af funktioner, (midlertidige) tabeller osv. Alle disse er udelukket i mit specifikke tilfælde, da jeg ikke må oprette nogen objekter i Oracle database/server.

Jeg fandt endelig en prøve, som jeg var i stand til at ændre til min brugssituation. Eksemplet er fra dette side , af en, der kalder sig Sayan Malakshinov. Efter at have ændret hans prøve endte jeg med dette:

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

Dette udelader nogle kolonner fra ALL_TRIGGERS men jeg får hele triggerlegemet (da ingen af ​​triggerne er længere end 4000 tegn).



  1. Jeg kan ikke starte MySQL-serveren fra kommandolinjen i Windows

  2. Log specifik postgresql-forespørgsel ved hjælp af pg-promise

  3. Globale Temp-tabeller - SQL Server vs Oracle

  4. SELECT-forespørgsel med CASE-betingelse og SUM()