2009-11-13 13 views

risposta

11

si può provare qualcosa di simile

DECLARE @Table TABLE(
     Val VARCHAR(MAX) 
) 

INSERT INTO @Table EXEC sp_helptext 'sp_configure' 

DECLARE @Val VARCHAR(MAX) 

SELECT @Val = COALESCE(@Val + ' ' + Val, Val) 
FROM @Table 

SELECT @Val 

Questo porterà indietro tutto in una sola riga, per cui si potrebbe desiderare di utilizzare interruzioni di riga, invece.

+0

Perfetto! Ha funzionato alla grande –

+0

@gbn risposta è più pulita a mio parere, anche se entrambi fanno il lavoro. – Treborbob

4

Supponendo di SQL Server 2005 e al di sopra (che è implicata da varchar (max) in risposta di Astander), perché non è sufficiente utilizzare uno di questi

SELECT OBJECT_DEFINITION('MyObject') 

SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID('MyObject') 
+0

L'utilizzo di questo da SQSH mi dà: I dati Unicode in un confronto Unicode o dati ntext non possono essere inviati ai client utilizzando DB-Library (come ISQL) o ODBC versione 3.7 o precedente. –

2

Questo non è molto glamour, ma funziona ...

DECLARE @Table TABLE(
     Val VARCHAR(MAX) 
) 

INSERT INTO @Table EXEC sp_helptext 'sp_configure' 

DECLARE @Val VARCHAR(MAX) 

SET @Val = '' 

SELECT @Val = @Val + REPLACE(REPLACE(REPLACE(Val, CHAR(10), ''), CHAR(13), ''), CHAR(9), '') 
FROM @Table 

-- Replaces line breaks and tab keystrokes. 

SELECT @Val 
Problemi correlati