Получить результаты sp_helptext в виде одной строки - PullRequest
7 голосов
/ 13 ноября 2009

Я выполняю запрос, используя «EXEC sp_helptext Object», но он возвращает несколько строк с именем столбца Text. Я пытаюсь объединить это значение в одну строку, но у меня возникают проблемы, пытаясь найти лучший способ сделать это с помощью T-SQL.

Ответы [ 3 ]

13 голосов
/ 13 ноября 2009

Вы можете попробовать что-то вроде этого

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

Это вернет все в одну строку, поэтому вы можете вместо этого использовать разрывы строк.

4 голосов
/ 13 ноября 2009

Если предположить, что SQL Server 2005 и выше (что подразумевается от varchar (max) в ответе astander), почему бы просто не использовать один из этих

SELECT OBJECT_DEFINITION('MyObject') 

SELECT definition FROM sys.sql_modules WHERE object_id = OBJECT_ID('MyObject')
2 голосов
/ 12 июля 2011

Это не очень гламурно, но работает ...

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...