lin*_*r85 6 sql oracle oracle10g
我在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";
Run Code Online (Sandbox Code Playgroud)
所以它运行得很顺畅,但当我尝试添加一个组时:
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;
Run Code Online (Sandbox Code Playgroud)
我收到下一条消息:
ora-06553 pls-306调用'ogc_x'时错误的参数数量或类型
有谁知道我的查询有什么问题?
你用过双引号"X".
这应该是'X'.
X对象是MDSYS模式中的一个函数,"ogc_x",所以当你说est.tipo_estatus = "X"而不是正确的时候est.tipo_estatus = 'X'它会被翻译(因为""是一个标识符所以"X"就像输入X一样)est.tipo_estatus = mdsys.ogc_x当然失败.