2010-10-14 50 views
7

Uso de Sybase IQ v12.7. Ejecutando sp_helptext ProcedureName muestra el texto del procedimiento almacenado que está bien. Sin embargo, envuelve las líneas a 80 caracteres. La pregunta es, ¿cómo mostrar texto de texto de un procedimiento almacenado sin envoltura?Sybase IQ: cómo mostrar el procedimiento almacenado sin envolver el texto?

En Sybase Central Java Edition hay una función que muestra el texto de un procedimiento almacenado (Tranact-SQL) sin ajuste de línea. Por lo tanto, la pregunta podría reformularse de otra manera: ¿cómo obtiene Sybase Central el texto de un procedimiento almacenado sin envolver el texto en 80 caracteres?

Básicamente, busca una forma programática para volcar los procedimientos almacenados para el control de versiones y de versiones.

¡Gracias por cualquier respuesta!

Respuesta

10

sp_helptext no realiza ningún ajuste: divide el texto de definición de procedimiento en los caracteres de nueva línea y devuelve cada línea como una fila. Si desea que todo el asunto devuelto como una sola cadena, puede seleccionar la definición del procedimiento directamente de la tabla de sistema:

select proc_defn from SYS.SYSPROCEDURE where proc_name='<procedurename>' 
+1

Excelente, gracias. Esto es exactamente lo que estaba buscando. Al ejecutar sp_helptext en un cliente como sqldbx, las líneas largas en el procedimiento almacenado se envuelven en 80 caracteres. Entonces tal vez ese sea un problema con el cliente o algún ajuste en la conexión del cliente. En cualquier caso, consultar la tabla SYS.SYSPROCEDURE directamente hace el trabajo. – FuzzyWuzzy

1

Actualmente no tenemos acceso a Sybase IQ o servidor ASA, pero creo que usted está buscando algo así como ASE sp__helptext de http://www.edbarlow.com/gem/procs_only/

Trate de volver a escribir éste para el servidor de ASA.

Actualización:

Ver la utilidad defncopy.

0

Si está utilizando isql para ejecutar el sp_helptext, entonces probbably que no facilitaron la "- w "parámetro que establece column_width para la sesión actual. Intenta hacer lo mismo con isql -w999 para ver si todavía se ajusta.

Para mis propios fines, para comparar procedimientos almacenados, utilizo la utilidad defncopy proporcionada por Sybase, que ya se mencionó en kolchanov.

Cuestiones relacionadas