Web uygulama kaynak kodunu değiştirme seçeneğimiz olmadığından, bir bağlama değişkeni olan bir sorgu yeniden yazma uygulaması yapmamız gerekiyor. Örnek:Oracle DBMS_ADVANCED_REWRITE bağlama değişkeni ile nasıl kullanılır?
30353. 00000 - "expression not supported for query rewrite"
*Cause: The SELECT clause referenced UID, USER, ROWNUM, SYSDATE,
CURRENT_TIMESTAMP, MAXVALUE, a sequence number, a bind variable,
correlation variable, a set result, a trigger return variable, a
parallel table queue column, collection iterator, a non-deterministic
date format token RR, etc.
*Action: Remove the offending expression or disable the REWRITE option on
the materialized view.
orada etrafında bir iştir ama sadece her yerde online belge bulamıyorum here okuyorum: Bir bağlama değişkeni olduğundan Yukarıdaki komut hata ile sonuçlanır
BEGIN
SYS.DBMS_ADVANCED_REWRITE.declare_rewrite_equivalence (
name => 'test_rewrite2',
source_stmt => 'select COUNT(*) from ViewX where columnA = :1',
destination_stmt => 'select COUNT(*) from ViewY where columnA = :1',
validate => FALSE,
rewrite_mode => 'recursive');
END;
.
Lütfen etrafındaki işin ne olduğunu söyleyebilir misiniz?