我正在尝试在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";
因此它运行顺利,但是当我尝试通过以下方式添加组时:
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 wrong number or types of arguments in call to 'ogc_x'
有人知道我的查询出了什么问题吗?
最佳答案
您已经在"X"
上使用了双引号。
这应该是'X'
。
X对象是MDSYS模式中的函数“ogc_x”,因此当您说est.tipo_estatus = "X"
而不是正确的est.tipo_estatus = 'X'
时,它会被翻译(因为“”是标识符,所以“X”与只是键入X相同)到est.tipo_estatus = mdsys.ogc_x
当然会失败。
关于sql - ora-06553 pls-306调用 'ogc_x'的参数数目或类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13687766/