ora-06553 pls-306 wrong number or types of arguments in call to 'ogc_x'

oracle, oracle10g, sql

Solution

you've used double quotes on `"X"`.

this should be `'X'`.

the X object is an function in the MDSYS schema, "ogc_x", so when you say `est.tipo_estatus = "X"` instead of the correct `est.tipo_estatus = 'X'` it gets translated (as "" is as an identifier so "X" is the same as just typing X) to `est.tipo_estatus = mdsys.ogc_x` and of course fails.

Problem

I´m trying a query in oracle 10g. It goes like this: ``` 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"; ``` So it runs smootly, but when I try it adding a group by: ``` 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; ``` I get the next message: ora-06553 pls-306 wrong number or types of arguments in call to 'ogc_x' Does anyone knows what´s wrong in my query?

Original source