今天偶然查询Oracle隐含参数,想在从网上找到大神写的语句中加一个描述参数作用的列,发生ORA-00923,做个记录
SYS@honor1 > select 2 x.ksppinm name, 3 y.ksppstvl value, 4 y.ksppstdf isdefault, 5 x.ksppdesc desc, 6 decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod, 7 decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj 8 from 9 sys.x$ksppi x, 10 sys.x$ksppcv y 11 where 12 x.inst_id = userenv('Instance') and 13 y.inst_id = userenv('Instance') and 14 x.indx = y.indx and x.ksppinm like '%¶meter%' 15 order by 16 translate(x.ksppinm, ' _', ' ') 17 / Enter value for parameter: policy old 14: x.indx = y.indx and x.ksppinm like '%¶meter%' new 14: x.indx = y.indx and x.ksppinm like '%policy%' x.ksppdesc desc, * ERROR at line 5: ORA-00923: FROM keyword not found where expected
经过仔细比对,该问题由于第五行,使用了系统保留关键字desc导致,改为describe,问题解决。
另外,对上述查询中ISMOD、ISADJ经过研究含义如下:
ISMODIFIED VARCHAR2(10) Indicates whether the parameter has been modified after instance startup: • MODIFIED - Parameter has been modified with ALTER SESSION • SYSTEM_MOD - Parameter has been modified with ALTER SYSTEM (which causes all the currently logged in sessions' values to be modified) • FALSE - Parameter has not been modified after instance startup ISADJUSTED VARCHAR2(5) Indicates whether Oracle adjusted the input value to a more suitable value (for example, the parameter value should be prime, but the user input a non-prime number, so Oracle adjusted the value to the next prime number)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。