sql之创建 View 和 For Json 子句
EasonJim
阅读:29
2025-01-19 22:14:33
评论:0
与 SQL Server 2016
,我可以运行这个简单的查询:
SELECT colA, colB, json_query(infoJson) AS Expr1
FROM dbo.Table_1
FOR json auto
我什至可以将它包装在一个存储过程中。它运行良好。
但是当我试图根据该语句创建 View 时,有些奇怪(至少对我而言):
CREATE VIEW [dbo].[View_1]
AS
SELECT colA, colB, json_query(infoJson) AS Expr1
FROM dbo.Table_1
FOR json auto
这是我得到的错误:
Msg 4511, Level 16, State 1, Procedure View_1, Line 5 [Batch Start Line 9] Create View or Function failed because no column name was specified for column 1.
但是我一评论
--for json auto
,
VIEW
按预期创建。
为什么?我真的很想拥有
FOR JSON
在我的 sql View 中。
请您参考如下方法:
FOR XML | JSON AUTO
返回单列(字符 LOB)。因此,您需要修改 SELECT 语句以在 View 中返回单个列,例如:
CREATE VIEW [dbo].[View_1]
AS
SELECT (
SELECT colA, colB, json_query(infoJson) AS Expr1
FROM dbo.Table_1
FOR json auto
) as X
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。