当前位置: 首页 > 知识库问答 >
问题:

ORA-00904:"PSTATUSTYPE":无效标识符00904.00000-"%s:无效标识符"*原因:*操作:第67行错误列:11

焦光霁
2023-03-14

当我尝试运行以下SQL时:

SELECT  
p_mv.created_by                            createby, 
from  pipeline             p_mv, 
pipeline             p_con, 

route route_s , 

 where  
    "pstatustype"='CTA'
     and
    case when pstatustype='CTA' then p_con.created_date
           when pstatustype='VAD' then route_s.orgn_vsl_arvl_date
           when pstatustype='ETA' then route_s.arrival_date
           else null -- default anyway
      end Between to_date('&1','DD-MON-YYYY:HH24:MI:SS')
              AND to_date('&2','DD-MON-YYYY:HH24:MI:SS');

psstatustype列出现错误:

ORA-00904: "PSTATUSTYPE ":无效的标识符< br> 00904。00000 - "%s:无效标识符" < br > *原因:< br > *操作:第67行第11列出错

psstatustype不在数据库端。我正在为where子句下的案例分发动态创建这个。请帮忙!!

问候, 福子

共有1个答案

宋宇
2023-03-14

“这是一个参数。

您发布的SQL已损坏,因此这不是一个工作示例(例如,您有一个没有连接条件的交叉连接,因此它将返回笛卡尔乘积)。无论如何,它向您展示了您需要做的事情:

SELECT  
     ....
from  pipeline             p_mv, 
      pipeline             p_con, 
      route route_s , 
 where  
    case '&pstatustype'
           when 'CTA' then p_con.created_date
           when 'VAD' then route_s.orgn_vsl_arvl_date
           when 'ETA' then route_s.arrival_date
           else null -- default anyway
      end 
      between to_date('&1','DD-MON-YYYY:HH24:MI:SS')
              AND to_date('&2','DD-MON-YYYY:HH24:MI:SS');

这使用 SQL*Plus 替换变量语法

 类似资料:
  • Oracle 11g Express Edition..创建表时出错 ORA-00904:无效标识符

  • 我已经在虚拟XP中安装了Oracle 10g,并使用 并且成功地创建了表。但是当我试图通过简单的查询获取值时,如 我得到的错误就像 ORA-00904:"bbb":无效标识符 我不能理解我在这里做错了什么。

  • 创建此表后,我正在尝试添加外键 我想使用Alter table创建的外键是Sailnumber: ALTER表成员添加外键(sailnumber)引用船(sailnumber) sailnumber是table boat的主键,如下所示 然而,我得到了这个错误SQL错误: ORA-00904:"SAILNUMBER":无效的标识符,我不知道为什么我得到有人能告诉我哪里出错了吗?

  • 问题内容: 我尝试使用Oracle数据库编写以下内部联接查询: 这给出了以下错误: 一个表的DDL为: 问题答案: 您的问题是那些有害的双引号。 Oracle SQL允许我们忽略数据库对象名称的大小写,只要我们创建它们时都使用大写的名称,或者不使用双引号即可。如果我们在脚本中使用大小写混合或小写并且将标识符括在双引号中,则当我们引用对象或其属性时,我们都被要求使用双引号和精确的大小写: tl; d

  • ORA-00904:“strdef”:无效标识符 > Oracle数据库版本为: Oracle Database 11g Enterprise Edition版本11.2.0.4.0-64位Production PL/SQL版本11.2.0.4.0-Production“Core 11.2.0.4.0 Production”TNS for Linux:版本11.2.0.4.0-Production

  • 我得到这个错误,而在Oracle数据库中执行查询: ORA-00904:“STRDEF”:无效标识符 > Oracle Database 11g Enterprise Edition 11.2.0.4.0版-64位生产PL/SQL 11.2.0.4.0版-生产“CORE 11.2.0.4.0生产”Linux版TNS:11.2.0.4.0版-生产NLSRTL 11.2.0.4.0版-生产 STRDE