SQL: Как добавить текст строки в мой вывод CTE - PullRequest
1 голос
/ 13 апреля 2020

У меня SQL вопрос. Я хочу добавить текстовое значение в начало результата JSON моего просмотра. Теперь я могу отображать результаты моего просмотра как JSON, а затем возвращаться с «SELECT * FROM @TABLE» в качестве результата.

Мне нужен этот запрос возврата для моего процесса ETL.

Вывод моего CTE теперь:

{"SystemType":"XX","SourceSystemName":"XX"}

Результат, который я хочу получить:

,"pipelineParameters":{"SystemType":"XX","SourceSystemName":"XX"}

То, что я сейчас имею:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

ALTER   PROCEDURE [Schema].[StoredProcedure]
AS
SET NOCOUNT ON;
        BEGIN

            DECLARE @TABLE TABLE(RESULT NVARCHAR(MAX))
            DECLARE @QUERY NVARCHAR(MAX) = '

            ;WITH x(Name) as 
            (
            SELECT * FROM [Schema].[View] FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
            )
            Select * from x  
            '
            Insert @TABLE
            EXEC (@QUERY)
            Select * from @TABLE;

        END
GO

1 Ответ

1 голос
/ 13 апреля 2020

Возможно, я слишком упрощаю это, но почему бы просто не объединить начало строки с результирующим столбцом?

То есть заменить последний:

select * from @TABLE;

на:

select ',"pipelineParameters":' + name from @TABLE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...