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.
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%';
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.