El otro día tuve que volver a un backup de la base y al hacer el import me di cuenta que el export tenía caracteres extraños en el archivo SQL, en la parte de los SP.
Estos caracteres aparentemente no afectan el funcionamiento, pero lo que producen es que el visualizado del espaciado de las lineas del SP sea mayor, es como si fueran caracteres de control (line feed) adicionales. Por ejemplo (pego unas pocas líneas):
CREATE PROCEDURE “dba”.sp_mug_cbio_local(
pViejoCodigo LIKE mug_localidades.localidad,
pNuevoCodigo LIKE mug_localidades.localidad)
RETURNING integer, -- 1 bien, -1 error
…
Este es un viejo problema. Alguien conoce alguna solución, alguna manera de eliminarlos ya sea en la base (tabla sysprocbody) o en el export para que se generen bien la siguiente vez?
Hola Gustavo, de la base se me ocurre que podrías intentar, dropear los procedimientos y volver a crearlos del catálogo. Luego revisar como sale el export del cuerpo del procedimiento:
Editar el archivo y ver si siguen los caracteres raros.
La otra es probar con un editor de texto para eliminar eses caracteres del archivo nombre_base.sql del dbexport.
La 2da opción ya la probé en distintas oportunidades. El tema es que los distintos editores que probé no detectan esos caracteres raros, ya que son como un carriage return.
La primera opción sería buena si tuviera todos los SP en 1 solo script. Como eso no está, habría que armarlo. Tendría que ver si se consigue algún programa que me pegue todos los SP de la carpeta del catálogo en 1 solo archivo.
El word te permite reemplazar los caracteres de final de linea.
para copiar todos los sp del catálogo a uno solo
copy *.sql procedures.lst
desde una consola. No te garantizo que funcione lo que resulte. Hay algunos procedures que le falta el ; final, los drop deberian estar comentados.