2009-11-13 22 views

Respuesta

11

Usted puede intentar algo como esto

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 

Esto traerá de vuelta todo en una sola línea, por lo que es posible que desee utilizar saltos de línea en su lugar.

+0

Perfecto! Funcionó muy bien. –

+0

@gbn respuesta es más limpio en mi opinión, aunque ambos hacen el trabajo. – Treborbob

4

Suponiendo SQL Server 2005 y superior (que está implicado por varchar (max) en la respuesta de Astander), ¿por qué no simplemente usar uno de estos

SELECT OBJECT_DEFINITION('MyObject') 

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

Usar esto de SQSH me da: los datos Unicode en una intercalación Unicode-only o los datos ntext no se pueden enviar a los clientes que usan DB-Library (como ISQL) u ODBC versión 3.7 o anterior. –

2

Esto no es muy atractivo, pero funciona ...

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 
Cuestiones relacionadas