【发布时间】:2017-11-29 10:56:05
【问题描述】:
我有 4 个用户......甚至更多 - 他们在定制公司工作。
表 A:
userName | companyName
---------|-------------
user1 | co1
-----------------------
user2 | co2
------------------------
...
我有很多表: tableB - 有产品,tableC 有其他东西......很多很多表。 每个表都有一个名为:companyName 的列。
我的问题: 问题1:如何编写?/exec 一个函数来选择/更新/插入各种可变大小的问题,这样每个用户都可以读/写只更新具有自己公司名称的记录。
我(认为我)可以使用:
select * from tableC, userName, companyName from tableA ..... where tableC.companyName=tableA.companyName and tableA.userName=currentuser();
但是如果一些用户进行查询(来自 PGAdmin 或类似的):
select * from tableC;
问题 2a:我想在服务器级别阻止这种可能性。 问题 2b:有没有办法为未知的参数列表编写函数(每个用于插入/更新/删除查询)?
问题2c:如何只为这个编写的函数添加tableA...对TableX的完全访问权限,独立于执行用户?
【问题讨论】:
-
是的,是的,是的,这就是它!
-
谢谢@vao tsun
标签: sql postgresql function