Oracle’da oluşturulmuş olan bir tablonun veya view’ın sütununun tipi LONG ise bunda doğrudan arama ( where ) yapamayız. Ve şu hata ile karşılaşırız:

ORA-00997: geçersiz LONG veri türü kullanımı
ORA-00997 Illegal use of long datatype

Çözüm:

Tüm oracle database’lerinde bulunan dba_views, all_views, user_views’ı test amaçlı kullanacağım.

 

table metadata

dba_views, all_views, user_views oracle table

 

CREATE TABLE table_long_to_lob AS 
SELECT owner,view_name, TO_LOB(text) AS text FROM dba_views ;

SELECT * FROM table_long_to_lob WHERE 1=1 AND text like '%s%';

 

long tipi içinde arama

NOT: Tablo oluşturmadan doğrudan where condition’a kodu yazıp çalıştıramazsınız.

Yukardaki yöntem ile view’ın içindeki kod içerisinde arama yapılabilir.