将数组插入到SQL Server表中

3
create proc InsertTagsForArticle(@ArticleID int, @TagIDsList nvarchar(max))
as
--...........

参数@TagsList包含以逗号分隔的标签ID:"18,22, 23"。 如何以更合理的方式将这些ID插入表中?
编辑:问题是如何将数组插入SQL Server表,而不是如何解析数组。这类似于foreach运算符。
2个回答

2

由于SQL服务器不支持原生数组,因此您无法做太多事情。

  • 将此数组序列化并存储在字段中。
  • 创建子表/关系并将各个记录存储在其中。

您的要求将决定什么对您更好。但通常规范化方法效果更好。


1

你需要使用一个用户定义的函数,将逗号分隔的字符串拆分成表格 - 可以参考这里:

SQL Server Helper - Comma-Delimited Value to Table

或者在互联网上搜索“将逗号分隔的字符串拆分成表格”,你会得到很多相关结果 - 只需使用Google或Bing搜索即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接