gpt4 book ai didi

sql - 更新插入是否违反单一职责原则?

转载 作者:行者123 更新时间:2023-12-02 22:38:50 24 4
gpt4 key购买 nike

我喜欢使用 Upsert 存储过程来更新记录(如果存在)或插入记录(如果不存在)。如果没有它们,我需要首先查明记录是否存在,然后根据结果调用两个单独的存储过程。

今天之前,当我创建一个名为 UpdateOrDeleteRow 的存储过程时,我从未真正考虑过这个问题。当我发现自己的名字中包含“Or”时,我的 SRP 蜘蛛感知就开始发挥作用,我意识到 upsert 基本上是同一件事。

这是否违反建议零售价?如果是的话,可以接受吗?如果没有,我该怎么办?

我意识到SRP是一种OOP原则,而T-SQL不是一种OOP语言,但该原则的基础似乎也应该适用于这里。

最佳答案

还有一个原则,比 SRP 更令我喜欢 - DRY 。因此,如果您在一个地方调用此序列,您可以考虑单一职责。但是当你多次重复相同的操作序列时,DRY 会让我删除重复的内容。

顺便说一句,我想到的是,您可以在过程/方法名称中避免使用 ORUpdateOrInsert 操作有一个很好听的名字Save。我认为它不会破坏建议零售价。

关于sql - 更新插入是否违反单一职责原则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10609145/

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