مجوز select any table، علاوه بر امکان مشاهده اطلاعات جداول، قابلیتهای اضافه ای را هم به کاربران خواهد داد نظیر:
select * from .. for update;
مجوز جدیدی در اوراکل 12c ارائه شد که read any table نام دارد و می توان از آن به عنوان جایگزینی برای select any table استفاده کرد این مجوز، صرفا امکان مشاهده اطلاعات را به کاربران خواهد داد و قابلیتهای اضافه مربوط به مجوز select any table را ندارد.
مثال زیر را ببینید.
SQL> create user s identified by s;
SQL> create user r identified by r;
SQL> grant select any table,create session to s;
SQL> grant read any table,create session to r;
با ورود کاربر r به بانک، این کاربر نخواهد توانست به صورت select .. for update به جدول مورد نظرش دستیابی پیدا کند:
SQL> connect r/r
Connected.
SQL> select * from usef.us_tb for update;
ORA-01031: insufficient privileges
در صورتی که کاربر s، جدول را به صورت select .. for update مشاهده و lock می کند:
SQL> conn s/s
Connected.
SQL> select * from usef.us_tb for update;
A
———-
8