ORA-00955: name is already used by an existing object

maria326
14 de Julio del 2005

Hola,
Un personajillo ha hecho esta vista y resulta que dá un error, por más que la miro y remiro no sé el problema:

CREATE OR REPLACE FORCE VIEW TQREGSN1 (
RGL_BOL_CO_TIPO_PET,
RGL_BOL_CO_TIENDA,
RGL_BOL_NU_PETICION,
RGL_CO_LIQUIDACION,
RGL_COMISION_ACTUAL,
RGL_COMISION_FINAL,
RGL_DIFERENCIA_COMISION
)
AS
SELECT RG1.RGL_BOL_CO_TIPO_PET,
RG1.RGL_BOL_CO_TIENDA,
RG1.RGL_BOL_NU_PETICION,
RG2.RGL_CO_LIQUIDACION,
RG1.RGL_COMISION_ACTUAL,
RG2.RGL_COMISION_FINAL,
(RG2.RGL_COMISION_FINAL - RG1.RGL_COMISION_ACTUAL) RGL_DIFERENCIA_COMISION
FROM
(SELECT *
FROM L_REGULARIZACIONES
WHERE (RGL_BOL_CO_TIPO_PET, RGL_BOL_CO_TIENDA, RGL_BOL_NU_PETICION, RGL_FECHA )
IN
(SELECT RGL_BOL_CO_TIPO_PET, RGL_BOL_CO_TIENDA, RGL_BOL_NU_PETICION, MIN(RGL_FECHA)
FROM L_REGULARIZACIONES
GROUP BY RGL_BOL_CO_TIPO_PET, RGL_BOL_CO_TIENDA, RGL_BOL_NU_PETICION, RGL_CO_LIQUIDACION
)
) RG1,
(SELECT *
FROM L_REGULARIZACIONES
WHERE (RGL_BOL_CO_TIPO_PET,RGL_BOL_CO_TIENDA, RGL_BOL_NU_PETICION, RGL_FECHA )
IN
(SELECT D.RGL_BOL_CO_TIPO_PET, D.RGL_BOL_CO_TIENDA, D.RGL_BOL_NU_PETICION, MAX(D.RGL_FECHA)
FROM L_REGULARIZACIONES D
GROUP BY D.RGL_BOL_CO_TIPO_PET, D.RGL_BOL_CO_TIENDA, D.RGL_BOL_NU_PETICION, D.RGL_CO_LIQUIDACION
)
) RG2
WHERE RG1.RGL_BOL_CO_TIPO_PET = RG2.RGL_BOL_CO_TIPO_PET
AND RG1.RGL_BOL_CO_TIENDA = RG2.RGL_BOL_CO_TIENDA
AND RG1.RGL_BOL_NU_PETICION = RG2.RGL_BOL_NU_PETICION
AND RG1.RGL_CO_LIQUIDACION = RG2.RGL_CO_LIQUIDACION
WITH READ ONLY;

El error que nos dá:
FROM L_REGULARIZACIONES
*
ERROR en línea 20:
ORA-00955: name is already used by an existing object


Gracias


Rodolfo Reyes
14 de Julio del 2005
Trata de ponerlo ALIAS los dos SELECT * FROM L_REGULARIZACIONES

El error me parece raro, porque este error se da cuando estas tratando de crear un objeto con un nombre que ya esta utilizado en el mismo esquema, algo asi como que el nombre "TQREGSN1" fuera el nombre de otro objeto en tu esquema (y que este objeto no sea una vista).


bmgdba
14 de Julio del 2005
Revisa en la all_objects o bien en la user_objects por si tuvieras un objeto con ese nombre