暂无图片
PLSQL或Navicat等工具连接oracle,查询表数据,使一些指定的词汇直接显示成*怎么实现?
我来答
分享
云毅
2021-09-17
PLSQL或Navicat等工具连接oracle,查询表数据,使一些指定的词汇直接显示成*怎么实现?
暂无图片 5M

不经过代码,不改SQL语句,就是select * from tableName 使某些词显示成*

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
Uncopyrightable

P图

暂无图片 评论
暂无图片 有用 0
肖杰
2021-09-17
优秀
墨天轮
2021-09-17
秀儿
DarkAthena

1.如果你是想使某些列都变成*,可以使用wallet功能。

2.如果是可以新建一个用户,那么你可以在本用户创建一个视图,视图里用replace处理*号,然后在新用户下,以原表名为名称,建立一个指向视图的同义词,那么在新用户不改sql代码,就可以实现某些词变成*了。

3.另外,还有一种方式,就是18C版本开始添加的多态表函数,只是sql外面要再包一层,像下面这样

select * from 自定义函数名称('select * from tableName');

这样你就可以不改动sql本身,来实现变*号的效果了。而且这个函数是通用的,你传任何sql进去都能达到同样的效果。

关于多态表函数,请参考这篇文章
https://www.darkathena.top/archives/oracle-ptf-%E5%A4%9A%E6%80%81%E8%A1%A8

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏