gpt4 book ai didi

sql-server - 1 参数灵活的存储过程,还是很多存储过程?

转载 作者:行者123 更新时间:2023-12-04 06:51:12 25 4
gpt4 key购买 nike

我想就实现相同存储过程的 2 种方法征求您的意见。任何建议将不胜感激。

实现 1

CREATE PROC GetFileSize(@Path varchar(500) = NULL, @FileID int = NULL)
AS
IF @Path IS NULL
' Find the file by @FileID and return its size
ELSE
' Find the file by @Path and return its size

实现 2
CREATE PROC GetFileSizeByPath(@Path varchar(500))
AS

CREATE PROC GetFileSizeByFileID(@FileID int)
AS

您更喜欢哪种实现方式,为什么?

干杯,
莫什

最佳答案

第二个更优雅干净。

做第一个的唯一原因是这两种方法的代码几乎相同。然后有理由防止代码重复。在所有其他场景中,我不明白为什么要将这些混合在一起,因为将这种方法发挥到极致将是一个巨大的存储过程,它有一个大的 if 语句来决定在给定某些特定参数的情况下执行哪些代码,这完全违背了模块化设计的目的.

关于sql-server - 1 参数灵活的存储过程,还是很多存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3099768/

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