ORA-06553 PLS-306错号码或类型的呼叫'ogc_x的论点(ora-06553

2019-07-04 10:38发布

我正尝试在Oracle 10g中的查询。 它是这样的:

SELECT
  *
FROM
  h2h_reg reg,
  h2h_cat_estatus est
WHERE
  reg.FECH_APLICACION = SYSDATE
AND REG.ID_EST        = EST.ID_ESTATUS
AND est.tipo_estatus  = "X";

所以它运行smootly,但是当我尝试通过添加组:

SELECT
  reg.id_arch,
  reg.id_prod
FROM
  h2h_reg reg,
  h2h_cat_estatus est
WHERE
  reg.FECH_APLICACION = SYSDATE
AND reg.id_est        = est.id_estatus
AND EST.TIPO_ESTATUS  = "X"
GROUP BY
  reg.id_arch,
  reg.id_prod;

我得到的下一条消息:

ORA-06553 PLS-306错号码或类型的呼叫'ogc_x的论点

有没有人在我的查询错误知道what's?

Answer 1:

你使用的双引号"X"

这应该是'X'

在X对象在MDSYS模式的功能,“ogc_x”,所以当你说est.tipo_estatus = "X" ,而不是正确est.tipo_estatus = 'X'就被转换(如“”作为一个标识符,“ X”是相同的只是打字X)到est.tipo_estatus = mdsys.ogc_x和当然失败。



Answer 2:

尝试使用DISTINCT

SELECT DISTINCT reg.id_arch, reg.id_prod
  FROM h2h_reg reg, h2h_cat_estatus est
 WHERE reg.FECH_APLICACION = SYSDATE
   AND reg.id_est = est.id_estatus
   AND est.tipo_estatus = 'X'


Answer 3:

我发现这是产生这个错误,因为我已经使用了Oracle保留字来命名我的一些栏目,如日期,时间,评论等。一旦我改名问题就消失了的列。



文章来源: ora-06553 pls-306 wrong number or types of arguments in call to 'ogc_x'