【问题标题】:Is it okay to SELECT * if desired behavior is for the query to automatically add new columns? [duplicate]如果期望的行为是让查询自动添加新列,可以选择 * 吗? [复制]
【发布时间】:2025-12-08 12:10:02
【问题描述】:

我使用一个视图来显示一个用于报告用户的非规范化宽表中的每一列。我直接使用视图而不是表的原因是视图具有控制用户访问的逻辑。

每次我向宽的、非规范化的表中添加一列时,我都希望它自动显示在视图中。 Stack Overflow 上的许多人都说 SELECT * 永远不行。在这种情况下可以吗,还是应该在每次向表中添加列时都更新视图?

【问题讨论】:

  • 首先,NEVER 是一个非常有力的词。选择 * 是成本/收益的事情。关于您的视图,您确实应该在进行结构更改时更新视图
  • 我同意,直到我发布这个问题后才找到那个。

标签: tsql


【解决方案1】:

对于这个问题的答案,我非常感谢@User12861。在发布我的问题后,我在这里找到了这个答案:https://*.com/a/263320/5627550

“SQL Server 在添加时不会了解“新”列。这取决于您想要什么,这可能是好事也可能是坏事,但无论哪种方式,依赖它都可能不好。所以避免它似乎是个好主意。”

【讨论】:

    最近更新 更多