在 MS SQL Server 中隐藏表中的列

新手上路,请多包涵

任何人都可以分享隐藏 SQL Server 2012 中表中特定列的步骤,因为我不想删除该列

隐藏我的意思是每当我对那个特定的表使用选择查询时,它都不应该向我显示该列。

可能吗?无论任何用户登录和我使用什么查询,我都需要将该列隐藏

第三方编辑

根据评论 But the problem is whenever i open the table in sql i dont want to see that particular column 我假设问题是:

  • 如何配置 ssms 以便在 sql management studio 中打开表定义以仅显示连接用户有权选择的列?

下面的屏幕截图显示了 Employee 表的所有列,尽管登录 StackoverIntern 对列 SSN, Salary 没有选择权限

SSMS 表定义显示所有列

原文由 Deepti 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

迟到的帖子,但我认为值得分享

在 SQLSERVER-2016 之前,当 selecting * 时,没有任何选项可以从表中隐藏几列,但是 SQLSERVER-2016 提出 HIDDEN 你现在可以设置关键字隐藏在 Select * 中的列,您不想显示这些列,只希望用于业务逻辑的某些后台进程。

HIDDEN 属性是可选的,它将在标准 SELECT 语句中隐藏这些列,以便与我们的应用程序和查询向后兼容。您不能将 HIDDEN 属性应用于现有列

.

您也可以更改现有表让我们以现有表为例

ALTER TABLE [dbo].[Account] ALTER COLUMN [StartDate] ADD HIDDEN;
ALTER TABLE [dbo].[Account] ALTER COLUMN [EndDate] ADD HIDDEN;

您可以在 Temporal table 中查看更常用的这个概念

您可以在下面的 临时表 中找到更多信息

原文由 Ameya Deshpande 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进