向SQL Server中的存储过程传递一个带有数组作为某些键值的对象



所以我正在使用SQL服务器,API应该调用存储过程,传递以下参数

{
"Survey": "Satisfaction survey",
"Questions" : [
{
"Question": "Are you satisfied with the customer service?",
"Options" : [
{
"Option" : "Yes"
},
{
"Option" : "No"
},
{
"Option" : "No comment"
}
]    
}
]
}

这只是一个基本的对象,还有更多的键。数据库中有调查表、问题表和选项表。这些键需要插入到它们各自的表中。是否有一种可行的方法将对象作为参数传递,或者我应该修改对象以将其作为参数传递?如有任何帮助,不胜感激。

编辑:表的模式如下

调查:

SurveyID | bigint  | primary key
Survey   | varchar | 

问题:

QuestionID | bigint  | primary key
Question   | varchar | 
SectionID  | bigint  | foreign key

选项:

OptionID    | bigint  | primary key
Option      | varchar | 
QuestionID  | bigint  | foreign key

我尝试使用OPENJSON()在@Zhorov的第一条评论中提到。它给了我需要的结果。我遵循以下文档

https://learn.microsoft.com/en-us/sql/t-sql/functions/openjson-transact-sql?view=sql-server-ver16

相关内容

  • 没有找到相关文章

最新更新