2
我想查詢所有的數據庫配置文件我有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;
我仍然得到即使第二查詢有過濾默認的和無限的人無效號碼。
對於就不會存在這個問題,因爲該列將被限制在要麼完全數字或字符串,但使用這個數據庫設置我顯然不能改變任何這一點,並在生產系統上的默認值和無限的大部分東西在實踐中使用。
優秀的解決方案。確切需要什麼。感謝您包括如何和爲什麼。 –