隐藏特定列的输出

时间:2011-11-04 16:57:18

标签: sql oracle security database-cursor

我编写了一个包含存储过程和REF游标的包。我现在可以通过这个光标显示表格中的所有列。我希望能够插入一个循环,如果满足某个条件,七个列中的四个将显示四个星号,其余列将显示其正常数据。

例如,我有一个名为country的列。每当美国出现在记录中时,(empid,ss,address,dept)的四列将只需显示****,而其余列将显示为正常。如果非美国的国家/地区在记录中,则所有列都将正常显示数据。我知道有一个noprint函数,但我似乎无法弄清楚如何只显示星号。

1 个答案:

答案 0 :(得分:5)

不要使用复杂的东西,只需使用CASE表达式:

SELECT CASE WHEN Country = 'USA' THEN '*****' Else EmpID END as EmpID