Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> masking column values

masking column values

From: <chopras_at_gmail.com>
Date: 11 Feb 2005 00:56:10 -0800
Message-ID: <1108112170.760503.133280@o13g2000cwo.googlegroups.com>


Hi,

Im trying to mask column values (padding attribute values with null values). One way to do this seems to be using either the DECODE command or CASE WHEN THEN ELSE command.

For example, to ensure employees only see their salaries,

I create a view as

create ore place view emp_clm
as
select name, id, dept,
DECODE(name, USER, sal, NULL) sal
from emp

The view accomplishes the following: If a user accessing the record
(USER) is the same as the person whose record is being checked (name),
then the user can see his salary. If not, the salary column (sal) is padded with the null value.

Note that the decode/case when commands modify the SELECT clause of the query. I want to push the column masking down to the WHERE clause of the query. Anyone know how to do this:

One (although not elegant) solution might be something like:

select name, id, dept, sal
from emp
where p1
union
select name, id, dept, null
from emp
where p2;

(In this case, p1 intersect p2 = null)

Any help w/ this is greatly appreciated! Received on Fri Feb 11 2005 - 02:56:10 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US