将数组插入sql server表

时间:2011-12-06 14:20:06

标签: sql sql-server-2008-r2

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

参数@TagsList包含以逗号分隔的标记ID:"18,22, 23"。 如何通过更合理的方式将这些ID插入表中?

编辑:问题是如何数组插入到sql server表中,而不是如何解析数组。它类似foreach运算符。

2 个答案:

答案 0 :(得分:1)

您需要使用例如用户定义的函数,用于将逗号分隔的字符串拆分为表格 - 请参阅例如这里:

SQL Server Helper - Comma-Delimited Value to Table

互联网上的

许多更多 - 只有谷歌或必应用于“将逗号分隔的字符串拆分为表格”,您将获得数千次点击....

答案 1 :(得分:1)

由于SQL服务器不支持本机阵列,因此您无能为力。

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

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