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

Văn bản tìm kiếm của Oracle về các chế độ xem

Điều này trở nên dễ dàng hơn trong 12c, nơi bạn có thể sử dụng

select *
from   all_views v
where  lower(v.text_vc) like '%abc%';

Điều này giả sử chuỗi văn bản bạn đang tìm kiếm nằm trong 4000 ký tự đầu tiên. Bạn cũng có thể có báo cáo bao gồm bất kỳ chế độ xem nào trong đó text_length là> 4000 cùng với một cảnh báo.

Trong các phiên bản trước (hoặc để tránh giới hạn 4000 ký tự), bạn có thể thử một vòng lặp PL / SQL như sau:

begin
    dbms_output.put_line('Owner                          View name');
    dbms_output.put_line('------------------------------ -------------------------------');

    for r in (
        select v.owner, v.view_name, v.text
        from   all_views v
        where  v.owner <> 'SYS'
    )
    loop
        if lower(r.text) like '%abc%' then
            dbms_output.put_line(rpad(r.owner,31) || r.view_name);
        end if;
    end loop;
end;

PL / SQL chuyển đổi ngầm định SQL LONG giá trị thành một chuỗi PL / SQL 32K.

(Trong các thử nghiệm của tôi trong 12.2.0.1.0, điều này không thành công với ORA-06502: PL/SQL: numeric or value error tại select câu lệnh khi con trỏ của tôi bao gồm SYS.DBA_SCHEDULER_RUNNING_JOBS hoặc SYS."_user_stat" , mặc dù các chế độ xem khác có văn bản dài hơn đã được xử lý thành công và tôi không chắc tại sao. Có thể có một số vấn đề với điều này mà tôi không thấy.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các thay đổi đối với ngữ cảnh phiên cơ sở dữ liệu vẫn tồn tại với việc sử dụng lại kết nối tổng hợp

  2. Chuyển đổi chuỗi có múi giờ viết tắt thành dấu thời gian

  3. Làm cách nào để tắt hết hạn mật khẩu Oracle?

  4. Viết trong ExcelSheet bằng gói UTL_FILE trong Oracle

  5. Cách bật Java Persistence 2.0 cho Weblogic 10.3.6