【问题标题】:PL/SQL: SQL Statement ignored in oracle queryPL/SQL:在 oracle 查询中忽略 SQL 语句
【发布时间】:2017-07-25 06:52:37
【问题描述】:
CREATE OR REPLACE PROCEDURE "SP_MM_QC_DATA_MACH_JUN"
    (PSEC VARCHAR2,
      PCAT VARCHAR2,
      PSUB VARCHAR2,
      PMACHINE VARCHAR2,
      SREFDATA OUT SYS_REFCURSOR ) as
BEGIN
    OPEN SREFDATA FOR
        select S.DESCRIPTION as SECTION, 
               MT.CODE as MACHINE_TYPE, 
               MH.MACH_NO,
               MH.ID_MM_SPINMACHINE_RW_H as ID_MM_MACHINE, 
               S.ID_MM_SPINSECTION, 
               MT.CODE    || ' - ' || MH.MACH_NO as Machine
        from MM_SPINMACHINE_H MH
        left join MM_MACHINETYPE MT 
            on MT.ID_MM_MACHINETYPE = MH.ID_MM_MACHINETYPE
        left join MM_SPINSECTION S 
            on S.ID_MM_SPINSECTION = MT.ID_MM_SPINSECTION
        where MH.REC_TYPE <> '5'
        and s.id_mm_sec = PSEC
        union all
        select ms.DESCRIPTION as section, 
               mg.group_desc as machine_type, 
               mm.machine_code as MACH_NO, 
               id_mm_machine as id_mm_machine,
               MS.ID_MM_SPINSECTION, 
               mg.group_desc || ' - ' || mm.machine_code as Machine
        from MM_MACHINE MM
        left join mm_spinsection ms
            on mm.id_mm_sec = ms.ID_MM_SPINSECTION
        left join mm_group mg 
            on mm.id_mm_group_mc_typ = mg.id_mm_group
        where mm.record_typ <> '5'
        and mm.id_mm_sec = PSEC
        order by 1,2,3;
END;

我有错误

错误:PL/SQL:
ORA-00904: "S"."ID_MM_SEC": 标识符无效
行:19 文本:AND S.ID_MM_SEC = PSEC 错误:
PL/SQL:忽略 SQL 语句
Line: 13 Text: select S.DESCRIPTION as SECTION, MT.CODE as MACHINE_TYPE, MH.MACH_NO

请指教。

【问题讨论】:

  • 语句被忽略是一般错误消息。如果您希望我们提供帮助,您需要粘贴整个错误堆栈。
  • 你的意思是这个?
  • 是的,我就是这个意思。为了将来参考,请编辑问题以包含更多信息。在 cmets 中代码尤其难以阅读。

标签: sql oracle plsql oracle11g


【解决方案1】:

PL/SQL:忽略 SQL 语句

此错误消息是 PL/SQL 编译器说的,我在 SQL 中发现了一个错误,我将不再检查。因此,关键信息是识别错误的信息。在你的情况下是这样的:

ORA-00904: "S"."ID_MM_SEC": 标识符无效

这是编译器告诉您表 MM_SPINSECTION 没有名为 ID_MM_SEC 的列。您需要检查表定义并获取实际的列名。

【讨论】:

  • 好的,知道了。非常感谢先生。我是第一次使用这个问问题。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多