【发布时间】:2010-11-14 05:46:14
【问题描述】:
我有一个具有以下属性的 Article 对象:
- 文章名称(varchar)
- 文章正文 (varchar)
- 文章标签 (varchar)
文章标签是用空格分隔的文本值字符串,用户用它来标记文章。这 3 个属性被传递给存储过程。
我现在想做以下事情:
1) 在 dbo.Articles 表中插入文章名称和文章正文,并返回文章 id
2) 在 dbo.Tags 表中插入文章标签字符串的每个值作为单独的行,但首先检查重复项。如果重复则返回现有记录的tagid,如果是新记录则返回新的tagid
3) 将文章 id 和每个 tagid 作为单独的行插入 dbo.TagMap 表中
我需要知道如何实现这一目标的最佳方法,同时意识到它不会在性能上花费太多。
提前感谢您提供的任何帮助。
【问题讨论】:
-
您使用什么语言和 DBMS?
-
asp.net 3.5/vb.net 和 sql server 2008
-
您是否需要通过存储过程在数据库中完成此操作,或者这可以是 .net 代码吗?
-
我愿意在 .net 代码中这样做(实际上这是我开始的地方),但这是我真正开始挣扎的地方。我知道如何毫无问题地将值拆分并获取到数组中,但我不知道如何将该数组和其他值一起传递给 SQL 对象并将其全部传递给数据库,特别是考虑到数组可以有不同数量的值。