千家信息网

ORA-00923: FROM keyword not found where expected

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,今天偶然查询Oracle隐含参数,想在从网上找到大神写的语句中加一个描述参数作用的列,发生ORA-00923,做个记录SYS@honor1 > select 2 x.ksppinm name,
千家信息网最后更新 2025年11月07日ORA-00923: FROM keyword not found where expected

今天偶然查询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: policyold  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)
0