Domanda

Utilizzando Sybase IQ v12.7. Esecuzione spettacoli sp_helptext ProcedureName il testo della stored procedure che va bene. Tuttavia si avvolge linee a 80 caratteri. La domanda è: come mostrare il testo testo di una stored procedure sprovvisti di copertura?

In Sybase Central Java Edition c'è una caratteristica vedere il testo di una stored procedure (Tranact-SQL) senza linea di confezionamento. Quindi la domanda potrebbe essere ribadito in un modo diverso:? Come fa Sybase Central ottenere il testo di una stored procedure, senza avvolgere il testo a 80 caratteri

In fondo alla ricerca di un modo programmatico per scaricare le stored procedure per il controllo diff-zione e la versione.

Grazie a tutte le risposte!

È stato utile?

Soluzione

sp_helptext non fa suo imballaggio - si rompe il testo di definizione procedimento ai caratteri di nuova riga e restituisce ogni riga come una riga. Se si desidera che il tutto tornato come una singola stringa, è possibile selezionare la definizione della procedura direttamente dalla tabella di sistema:

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

Altri suggerimenti

Al momento non ho accesso a Sybase IQ o al server ASA, ma penso che si sta cercando qualcosa di simile ASE sp__helptext da http://www.edbarlow.com/gem/procs_only/

Prova a riscrivere questo uno per il server ASA.

Aggiornamento:

Guarda utilità defncopy.

Se si sta utilizzando isql per eseguire lo sp_helptext, allora probbably hai si specifica il parametro "-w" che imposta column_width per la sessione corrente. Provate a fare lo stesso con isql -w999 per vedere se si avvolge ancora.

Per i miei scopi, per confrontare le stored procedure, ho utilizzare l'utilità defncopy fornita da Sybase, che kolchanov già menzionato.

Se non si dispone di defncopy (sia da Sybase o da FreeTDS) è possibile utilizzare questo sqsh e sed base-script: https://gist.github.com/vjt/5920790

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top