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

后端 未结 3 1713
無奈伤痛
無奈伤痛 2021-01-18 12:54

I´m trying a query in oracle 10g. It goes like this:

SELECT
  *
FROM
  h2h_reg reg,
  h2h_cat_estatus est
WHERE
  r         


        
相关标签:
3条回答
  • 2021-01-18 13:23

    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.

    0 讨论(0)
  • 2021-01-18 13:29

    I found that this error was generated because I had used Oracle reserved words to name some of my columns, e.g. date, time, comment, etc. Once I renamed the columns the problem disappeared.

    0 讨论(0)
  • 2021-01-18 13:36

    Try with 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'
    
    0 讨论(0)
提交回复
热议问题