gpt4 book ai didi

sql - 向 PostgreSQL 上的用户授予对表子集的访问权限

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:42 25 4
gpt4 key购买 nike

我知道我可以使用 View 来授予对表中属性子集的访问权限。但是我怎样才能只授予对特定元组的访问权限呢?假设我有一个注册学生表,一个用户名属性,然后是其他一些像 degree_status,我如何授予访问权限,以便用户 A 只能从表中选择与用户名 A 对应的元组?我有一个数据库考试,我正在研究一些过去的论文,我遇到了这个问题,但我不知道如何回答它,我无法从我的书“Dtabase System:数据库设计的实用方法”中找到如何做, 实现与管理'

非常感谢任何帮助!

马特

最佳答案

说你得到了:

Table items (item_id, ...)
Table users (user_id, ...)
Table users_permissions( user_id, item_id, perm_type )

你可以像这样创建一个 View :

SELECT i.*, p.perm_type 
FROM items JOIN users_permissions USING (item_id)
WHERE user_id = get_current_user_id();

用户可以从此 View 中进行选择,但不能删除限制权限的 WHERE 和 JOIN。

get_current_user_id() 函数可能是主要问题;)

关于sql - 向 PostgreSQL 上的用户授予对表子集的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004357/

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