一尘不染

如何基于父表自动更新子表中的列值?

sql

我的用于用户访问的Web应用程序体系结构以两种方式分开:-经理表(列:特权)员工表(列:特权,许可)

Manager是一个超级管理员帐户,用于根据套餐类型(例如,基本,白银,黄金)来订阅我们的服务。

对于Employee,默认情况下,此acc将由Manager创建并 共享与Manager相同的特权
(订阅的服务包)。但是,经理需要为每个功能设置 权限级别 ,以便员工能够访问Web应用程序中的功能。

这个想法是,如果由经理acc进行会话,则不需要权限。如果由员工进行会话,则需要获得许可。

问题: 在子表中创建新行时,“特权”列的默认值应与“父”相同。同样,如果父级降级该特权,则“子级”列值也应紧随其后。

从数据库角度来看,有没有办法实现这一目标?
我正在使用postgresql。我知道这绝对可以从后端实现,但是对于每个CRUD操作都需要做很多逻辑工作。


阅读 144

收藏
2021-03-08

共1个答案

一尘不染

您可以尝试使用触发器或存储过程,然后将逻辑放入数据库中。

2021-03-08