sql >> Databasteknik >  >> RDS >> Oracle

Konvertera LONG till varchar i Oracle

Söker på Google efter oracle convert long to varchar ger en hel del resultat, av vilka många tyder på att man använder funktioner, (tillfälliga) tabeller etc. Alla dessa är uteslutna i mitt specifika fall eftersom jag inte får skapa några objekt i Oracle databas/server.

Jag hittade äntligen ett prov som jag kunde modifiera för mitt användningsfall. Exemplet är från denna sida , av någon som kallar sig Sayan Malakshinov. Efter att ha modifierat hans prov, slutade jag med detta:

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

Detta utelämnar några kolumner från ALL_TRIGGERS men jag får hela triggerkroppen (eftersom ingen av triggarna är längre än 4000 tecken).



  1. Bästa datatypen för att lagra valutavärden i en MySQL-databas

  2. Lista över nummerformatselement i Oracle

  3. mysql till php till xml visar blank ålder

  4. Skapa en offentlig standardprofil för databaspost i SQL Server (T-SQL)