我想查询所有的数据库配置文件我有SESSIONS_PER_USER> 40 我使用的测试数据如下所有的数据库配置文件:Oracle数据库查询与SESSIONS_PER_USER大于40
select PROFILE, LIMIT from DBA_PROFILES where resource_name = 'SESSIONS_PER_USER;
Profile LIMIT
DEFAULT UNLIMITED
ORA_STIG_PROFILE DEFAULT
APP_USER 40
TEST2 2
TEST3 3
TEST4 11
TEST5 27
TEST6 33
TEST7 244
TEST8 45
TEST9 50
TEST10 111
TEST11 93
TEST12 39
TEST13 41
我开始此查询
select profile, limit from DBA_PROFILES where resource_name = 'SESSIONS_PER_USER' AND LIMIT >= 40;
哪个导致ORA-01722:无效的数字,因为您无法对字符串执行数学运算。
所以,我想这一点:
select profile, LIMIT from (select PROFILE, LIMIT from DBA_PROFILES where resource_name = 'SESSIONS_PER_USER' AND LIMIT != 'UNLIMITED' AND PROFILE != 'DEFAULT' AND LIMIT != 'DEFAULT') WHERE LIMIT = 40;
我仍然得到即使第二查询有过滤默认的和无限的人无效号码。
对于就不会存在这个问题,因为该列将被限制在要么完全数字或字符串,但使用这个数据库设置我显然不能改变任何这一点,并在生产系统上的默认值和无限的大部分东西在实践中使用。