Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql中,同一用户的不同角色可以访问同一表的不同字段/列_Sql - Fatal编程技术网

在sql中,同一用户的不同角色可以访问同一表的不同字段/列

在sql中,同一用户的不同角色可以访问同一表的不同字段/列,sql,Sql,我想让用户选择访问整个表,但只更新/插入/删除表的一部分。该表已将标志设置为用户可以更改的数据集ID。例如,工程师可以查看公司所有油井的数据,但他只能更改他负责的油井的数据。这些井将有一个标志,如工程师标志=a。另一个工程师将有工程师标志=B。工程师a可以选择带有B工程师标志的井,但他只能更改带有a标志的井的数据 我所做的所有研究只显示了如何设置它以访问整个表或不访问任何表。其他人建议拆分为不同的表,但他们强烈希望将表放在一起,这样我们可以更轻松地更改标志,而不必将数据从一个表导出到另一个表 我

我想让用户选择访问整个表,但只更新/插入/删除表的一部分。该表已将标志设置为用户可以更改的数据集ID。例如,工程师可以查看公司所有油井的数据,但他只能更改他负责的油井的数据。这些井将有一个标志,如工程师标志=a。另一个工程师将有工程师标志=B。工程师a可以选择带有B工程师标志的井,但他只能更改带有a标志的井的数据

我所做的所有研究只显示了如何设置它以访问整个表或不访问任何表。其他人建议拆分为不同的表,但他们强烈希望将表放在一起,这样我们可以更轻松地更改标志,而不必将数据从一个表导出到另一个表


我感谢任何指导

这可以通过以下两种方式之一实现:

  • 在程序代码中,您正在实施数据库,这将验证工程师与油井之间的关联;或
  • 通过SQL Server中的
    更新
    插入
    删除
    函数,该函数将接收工程师ID和他试图访问的油井作为参数

为此,每口井都必须与工程师关联,并具有分配给工程师的访问、更新、删除或插入信息的权限。

对这些操作、更新、插入和删除使用触发器。在每个触发器中,您可以轻松确定是否应该允许它,这取决于它是谁