Hola.
Como les va?
Como hago para borrar dos sp que se duplicaron? Por motivos que desconozco se generaron dos sp iguales, el sp que se duplico es el “spu_celular_comp”, me fije ya que pense que se diferenciaban por cantidad de parametros pero estan iguales, igual cantidad de argumentos, lo que si el cuerpo del sp esta con muchos error, con sentencias sql a medias, con errores varios.
Lo arregle pero para poder correr el que funciona, me pide borrar los que existen, pero al querer hacerlo me dice que que el “sp es ambiguos por estar repetido”.
Consulta, como puedo hacer para borrar esos dos sp duplicados asi pùedo correr el que esta bien?
Estamos trabajando con la versión Siu Gestion 2.9.4 e Informix 2.9.1.
Este problema salio cuando estuvimos haciendo el scritp de backup de la base de datos en producción!!!
Saludos!!!
Víctor:
Eo es muy raro!! Nunca vi que se duplicaran 2 SP con igual cantidad de parámetros. Los parámetros son los mismos en los 2 SP?
Mínimamente deberían hacer un chequeo de las bases de datos y del motor, ya que es una inconsistencia grave para el motor.
Intentaron hacer un UPDATE STATISTICS de los procedures? Me imagino que si lo intentan, les dará algún error … pero sería bueno intentarlo, a ver que pasa.
Si subsiste el problema, quizás debieran tomar una medida extrema, se me ocurren algunas:
-
Hacer un export de la base, sacar del export el SP con errores y volver a importar (si es que pueden hacer el export)
-
Ver cual es el procid del procedure a borrar, y borrar por SQL los registros vinculados a ese PROCID de las tablas Sysprocbody y Sysprocedures … pero esto es manosear las tablas del motor, y no sé si es muy santo, y puede tener resultados impredecibles (al menos para mi …)
Quizás alguien que sepa más que yo pueda aportar alguna solución mejor …
Saludos
Gustavo
Hola Gustavo!
Muchas gracias por responder.
Efectivamente los dos SP se llaman igual y tienen igual cantidad de parámetros y tipos, yo en un principio considere que había diferencias porque se considera que lo normal es dos SP con mismo nombre puede darse pero siempre que tengas distintas cantidad de argumentos o igual cantidad de parámetros pero de distintos tipos.
Pero por desgracia no es así los dos SP son iguales en todas su estructura desde el cómo se llaman, cantidad y tipos de parámetros y demás partes.
El error salta cuando estoy haciendo el dbexport, sale el error y el proceso de exportación se aborta.
Cuando analice de donde provenía el error me di con este problema de la duplicidad de los SP, trate de borrarlos, actualizarlos pero no lo consigo porque siempre el motor me marca el error de la duplicidad de los SP.
Pensé en lo que propones por segunda alternativa, pero antes de hacer eso, consulto por este foro, como para saber si alguien ya le sucedió esto y me podían orientar.
Gracias igualmente por la orientación Gustavo.
Saludos!!!
Victor:
Te sugiero copiar el mensaje y / o el hilo en un mensaje nuevo en el foro de Informix.
Corré los UPDATE STATISTICS que te mencioné y los oncheck a la base de datos.
Saludos
Gustavo