Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Chuyển đổi LONG sang varchar trong Oracle

Tìm kiếm trên Google để tìm oracle convert long to varchar đưa ra khá nhiều kết quả, nhiều trong số đó gợi ý sử dụng các hàm, bảng (tạm thời), v.v. Tất cả những điều này đều nằm ngoài câu hỏi trong trường hợp cụ thể của tôi vì tôi không được phép tạo bất kỳ đối tượng nào trong mã Oracle cơ sở dữ liệu / máy chủ.

Cuối cùng tôi đã tìm thấy một mẫu mà tôi có thể sửa đổi cho trường hợp sử dụng của mình. Mẫu lấy từ cái này trang , bởi một người tự xưng là Sayan Malakshinov. Sau khi sửa đổi mẫu của anh ấy, tôi đã kết thúc với điều này:

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

Điều này bỏ qua một số cột khỏi ALL_TRIGGERS nhưng tôi nhận được toàn bộ nội dung trình kích hoạt (vì không có trình kích hoạt nào dài hơn 4000 ký tự).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle thay đổi bảng không đủ đặc quyền

  2. Chèn một nút con vào cột XMLTYPE

  3. ORA-03113:phần cuối của tệp trên kênh liên lạc

  4. Oracle SQL Transpose

  5. Làm cách nào để hiển thị toàn bộ nội dung của cột LOB trong Oracle SQL * Plus?