create proc InsertTagsForArticle(@ArticleID int, @TagIDsList nvarchar(max))
as
--...........
参数
@TagsList
包含以逗号分隔的标签ID:"18,22, 23"
。
如何以更合理的方式将这些ID插入表中?编辑:问题是如何将数组插入SQL Server表,而不是如何解析数组。这类似于
foreach
运算符。create proc InsertTagsForArticle(@ArticleID int, @TagIDsList nvarchar(max))
as
--...........
@TagsList
包含以逗号分隔的标签ID:"18,22, 23"
。
如何以更合理的方式将这些ID插入表中?foreach
运算符。由于SQL服务器不支持原生数组,因此您无法做太多事情。
您的要求将决定什么对您更好。但通常规范化方法效果更好。
你需要使用一个用户定义的函数,将逗号分隔的字符串拆分成表格 - 可以参考这里:
SQL Server Helper - Comma-Delimited Value to Table
或者在互联网上搜索“将逗号分隔的字符串拆分成表格”,你会得到很多相关结果 - 只需使用Google或Bing搜索即可。