查询在Oracle 11g上有效,但在Oracle 8i上失败 [英] Query works on Oracle 11g but fails on Oracle 8i

查看:79
本文介绍了查询在Oracle 11g上有效,但在Oracle 8i上失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Oracle 11g中运行此查询没有问题:

I am running this query in Oracle 11g with no problem:

select (case
         when seqnum = 1 then
          '1'
         when seqnum = cnt then
          '0'
       end) as value1,
       (case
         when seqnum = 1 then
          t.BEGIN_DT
         when seqnum = cnt then
          t.END_DT
       end) as TIME1,      
       t4.UNIT1 || '.SUBBATCH_TRIGGER' TAG     
  from (select t.*,
               row_number() over(partition by t.BATCH_ID, t.plant_unit, t3.ID2 order by t.BEGIN_DT) as seqnum,
               count(*) over(partition by t.BATCH_ID, t.plant_unit, t3.ID2) as cnt
          from SCH2.tb_pg_unit_stap t
join (select ID1,batch_id from SCH2.VW_BATCH) t2 on t.BATCH_ID = t2.BATCH_ID
join (select ID2,ID1 from SCH1.STEP) t3 on t3.ID1 = t2.ID1) t
join SCH2.TB_W_MACHINE t4 on t4.plant_unit = t.plant_unit
where (seqnum = 1
    or seqnum = cnt) AND (t.BEGIN_DT > '01-jan-2013' AND t.BEGIN_DT < '01-feb-2013');

但是当我在Oracle 8i(8.7.1)中运行它时,它给出了ORA-00933:SQL命令未正确结束.

But when I run it in Oracle 8i (8.7.1) it gives ORA-00933: SQL command not properly ended.

在Oracle 8i中运行sql命令是否有我必须知道的特殊注意事项?

Is there anys special consideration I must know for running sql commands in Oracle 8i?

预先感谢

推荐答案

从9i开始引入了AFAK case命令.

AFAK case command was introduced since 9i.

这篇关于查询在Oracle 11g上有效,但在Oracle 8i上失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆