From: UXDBA on
All,
Just one questions. ( I know Oracle is not written this way... but
wanted to see the thread users response/comments )

Session #1 from client 1 :
--------------------------------------

issues the following:

select * from T;

Is there any way this SQL can be intercepted in backend and a filter
is added to this query.
something like....

where 1=2

i.e. Actual sql processed would be

select * from T where 1=2;

So that no rows are retruned to the user who has issued the above sql.
(mainly wanted to add a predicate which is FALSE hence no results set
is returned.)

Thanks






From: Michel Cadot on

"UXDBA" <unixdba73(a)googlemail.com> a �crit dans le message de news:
5edf20cb-dc15-48f0-b44c-92f95fb7012a(a)u8g2000vbh.googlegroups.com...
| All,
| Just one questions. ( I know Oracle is not written this way... but
| wanted to see the thread users response/comments )
|
| Session #1 from client 1 :
| --------------------------------------
|
| issues the following:
|
| select * from T;
|
| Is there any way this SQL can be intercepted in backend and a filter
| is added to this query.
| something like....
|
| where 1=2
|
| i.e. Actual sql processed would be
|
| select * from T where 1=2;
|
| So that no rows are retruned to the user who has issued the above sql.
| (mainly wanted to add a predicate which is FALSE hence no results set
| is returned.)
|
| Thanks
|

Have a look at VPD and DBMS_RLS package.

Regards
Michel


From: ddf on
On Jul 2, 10:44 am, UXDBA <unixdb...(a)googlemail.com> wrote:
> All,
> Just one questions. ( I know Oracle is not written this way... but
> wanted to see the thread users response/comments  )
>
> Session #1  from client 1  :
> --------------------------------------
>
> issues the following:
>
> select * from T;
>
> Is there any way this SQL can be intercepted  in backend and a filter
> is added  to this query.
> something like....
>
> where 1=2
>
> i.e. Actual sql processed would be
>
> select * from T where 1=2;
>
> So that no rows are retruned to the user who has issued the above sql.
> (mainly wanted  to add a predicate which is FALSE hence no results set
> is returned.)
>
> Thanks

Is there a particular user you're wanting to restrict with this?



David Fitzjarrell
From: UXDBA on
On Jul 2, 5:21 pm, ddf <orat...(a)msn.com> wrote:
> On Jul 2, 10:44 am, UXDBA <unixdb...(a)googlemail.com> wrote:
>
>
>
>
>
> > All,
> > Just one questions. ( I know Oracle is not written this way... but
> > wanted to see the thread users response/comments  )
>
> > Session #1  from client 1  :
> > --------------------------------------
>
> > issues the following:
>
> > select * from T;
>
> > Is there any way this SQL can be intercepted  in backend and a filter
> > is added  to this query.
> > something like....
>
> > where 1=2
>
> > i.e. Actual sql processed would be
>
> > select * from T where 1=2;
>
> > So that no rows are retruned to the user who has issued the above sql.
> > (mainly wanted  to add a predicate which is FALSE hence no results set
> > is returned.)
>
> > Thanks
>
> Is there a particular user you're wanting to restrict with this?
>
> David Fitzjarrell- Hide quoted text -
>
> - Show quoted text -

no . single user issues multiple requests and if the quoted SQL is
issued. we wanted to restrict that SQL alone.
From: ddf on
On Jul 2, 12:52 pm, UXDBA <unixdb...(a)googlemail.com> wrote:
> On Jul 2, 5:21 pm, ddf <orat...(a)msn.com> wrote:
>
>
>
>
>
> > On Jul 2, 10:44 am, UXDBA <unixdb...(a)googlemail.com> wrote:
>
> > > All,
> > > Just one questions. ( I know Oracle is not written this way... but
> > > wanted to see the thread users response/comments  )
>
> > > Session #1  from client 1  :
> > > --------------------------------------
>
> > > issues the following:
>
> > > select * from T;
>
> > > Is there any way this SQL can be intercepted  in backend and a filter
> > > is added  to this query.
> > > something like....
>
> > > where 1=2
>
> > > i.e. Actual sql processed would be
>
> > > select * from T where 1=2;
>
> > > So that no rows are retruned to the user who has issued the above sql..
> > > (mainly wanted  to add a predicate which is FALSE hence no results set
> > > is returned.)
>
> > > Thanks
>
> > Is there a particular user you're wanting to restrict with this?
>
> > David Fitzjarrell- Hide quoted text -
>
> > - Show quoted text -
>
> no . single user issues multiple requests and if the quoted SQL is
> issued. we wanted to restrict that SQL alone.- Hide quoted text -
>
> - Show quoted text -

If you don't want anyone to 'see' any data from T why don't you create
a view on T:

create or replace view owner.t_vw as
select * From owner.t where 1=2;

then create a public synonym T for the view you just created:

create public synonym t for owner.t_vw;

At that point only the table owner can see data in table T.


David Fitzjarrell