用固定值覆盖 select 语句中的一列,而不列出所有列

Her*_*ert 7 sql sql-server

我在 SQL Server 数据库中有许多包含大量列 (> 100) 的表。在某些情况下,当选择(使用视图)时,我需要用固定结果值替换其中一列,而不是行中的数据。有没有办法使用类似的东西

select table.*, 'value' as Column1 from table
Run Code Online (Sandbox Code Playgroud)

如果 Column1 是表中的列名?

当然,我可以列出 select 语句中预期结果的所有列,并用一个值替换该列。然而,这非常不方便,并且如果在表中添加或删除列,我必须维护 3 或 4 个这些视图。

mir*_*e_V 3

不,在这种情况下您必须指定列。
如果经常更换表格,则会出现更严重的问题。这可能是存在重大架构缺陷的信号。
无论如何,列出所有列而不是列*是一个很好的做法,因为如果列数发生变化,可能会导致级联错误。