ITPub博客

首页 > 数据库 > Oracle > ORA-00923: FROM keyword not found where expected

ORA-00923: FROM keyword not found where expected

原创 Oracle 作者:你好我是李白 时间:2020-01-10 23:23:10 0 删除 编辑

今天偶然查询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 '%&parameter%'
 15  order by
 16  translate(x.ksppinm, ' _', ' ')
 17  /
Enter value for parameter: policy
old  14: x.indx = y.indx and x.ksppinm like '%&parameter%'
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)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31439444/viewspace-2672931/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
我们不比前人聪明,但是我们会在量变到质变的过程中有些机会重新访问前人没有机会解决的问题。

注册时间:2017-02-28

  • 博文量
    129
  • 访问量
    164267