为数据库列添加额外属性

时间:2018-01-30 00:52:05

标签: database

网站中的常用功能是让用户自定义报告(他们可以选择要在报告中显示的数据库表中的列名,如https://i.stack.imgur.com/GxOGz.jpg)。我知道如何在SQL服务器中使用Select语句来查找列的系统属性(如column_name,data_type,length等)但是,如何为数据库列添加额外的自定义属性(如is_visible,owner,display_name或其他内容)其他)?我是否必须创建自己的表来记录这些额外的属性,或者如果它不是硬编码,还有更好的方法吗?例如,如果我是管理员用户,我可以列出网站上可选择的所有列,但对于某些具有较低权限的用户或组,某些列将不会显示和选择。实现这一目标的常用方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您正在使用mySql服务器并且您有多个用户,则可以通过一种方式为用户GRANT创建列级权限。例如

GRANT SELECT ON Students (StudentID, FirstName, MiddleName, SurName) TO HR_office;

要使用这些权限执行查询,您可以使用以下代码段:

EXECUTE AS USER = 'HR_office';
GO
SELECT * FROM Students;
GO 
REVERT;
GO