隐藏特定列的输出

Chr*_*her 1 sql security oracle database-cursor

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

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

JNK*_*JNK 5

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

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