在SQL Server 2008中存储多选字段

时间:2009-10-21 09:20:44

标签: sql-server sql-server-2008 field choice

我正在用.NET编写应用程序,并使用下拉复选框。

我不确定将此信息存储在数据库中的最佳做法是什么。

目前我正在将一个以逗号分隔的字符串写回SQL Server 2008中的SP,即“apple,banana,pear”,将其存储在nvarchar(MAX)中,然后将其在SP中拆分为另一个包含ID的表和类型即

ID类型
17苹果
17香蕉
17梨

这是过度杀伤还是正确的做法?

1 个答案:

答案 0 :(得分:2)

重要的是保持数据库规范化。你正是这样做的,所以我说你的方法很好。

将逗号分隔的字符串传递给存储过程也没关系。您可以使用表参数或多个过程调用对其进行优化,但这些开发时间和性能会有很大的开销。