gpt4 book ai didi

c# - 我应该采取什么方法来分割字符串并更新多个 SQL 表?

转载 作者:行者123 更新时间:2023-12-02 18:19:29 25 4
gpt4 key购买 nike

我有一个具有以下属性的 Article 对象:

  • 文章名称 (varchar)
  • 文章正文 (varchar)
  • 文章标签 (varchar)

文章标签是一个以空格分隔的文本值字符串,用户用它来标记文章。这 3 个属性被传递给存储过程。

我现在想要执行以下操作:

1) 在 dbo.Articles 表中插入文章名称和文章正文并返回文章 id

2) 将文章标签字符串的每个值作为单独的行插入到 dbo.Tags 表中,但首先检查是否有重复项。如果重复则返回现有记录的 tagid,如果是新记录则返回新的 tagid

3) 将文章 id 和每个 tagid 作为单独的行插入 dbo.TagMap 表

我需要知道如何实现这一目标的最佳方法,同时意识到它不会在性能上花费太多。

预先感谢您提供的任何帮助。

最佳答案

我会在您的应用程序中完成大部分工作,而不是在 sql 中。您可以使用在线找到的众多 sql 拆分例程之一与 CROSS APPLY 结合使用来向表中添加多行,但我不会这样做。保持简单并让您的应用程序管理标签插入。

假设您有一篇包含 5 个标签的文章。这是一个数据库调用,用于创建文章并将文章 id 返回到您的应用程序(问题中的步骤 #1)。然后,对于每个标签,您在处理步骤 # 的单独数据库调用中提供文章 id 和标签值。 2 和步骤#3。您正在为一篇文章查看 6 个非常快速、一点也不复杂的操作,该文章很可能具有比平均数量更多的标签。这确实没那么糟糕。

但这只是我的两分钱。我希望它有帮助。

关于c# - 我应该采取什么方法来分割字符串并更新多个 SQL 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1186111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com