我有一个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
我可能对此进行了简化,但是为什么不只将字符串的开头连接到结果列呢?
也就是说,替换最后的:
select * from @TABLE;
带有:
select ',"pipelineParameters":' + name from @TABLE
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句