• SQL 给视图赋权限


    • 授予表权限
    • 创建视图
    • 授予视图权限
    • 测试权限

    您可以使用 SQL 在企业级地理数据库中创建表和要素类的视图。

    本主题中的示例显示如何使用 Microsoft SQL Server 中创建的简单视图来限制用户对特定列的访问。该示例基于具有以下定义的表:

    CREATE TABLE employees(
      emp_id integer not null, 
      name nvarchar(32), 
      department smallint not null, 
      hire_date datetime2 not null
    );
    

    授予表权限

    如果创建视图的用户不是该视图所依据的表的所有者,则表所有者必须至少授予视图创建者从表中进行选择的权限。

    在本例中,视图所依据的表 (employees) 归用户 gdb 所有。创建视图的用户是 rocket。

    GRANT SELECT 
     ON employees 
     TO rocket;
    

    创建视图

    在本例中,用户 rocket 根据 employees 表创建视图,以将访问限制为部门编号为 201 的记录:

    CREATE VIEW view_dept_201
     AS SELECT emp_id, name, hire_date
     FROM gdb.employees
     WHERE department = 201;
    

    授予视图权限

    您可将视图权限授予特定用户,而无需授予这些用户对基表 (employees) 的访问权限。在本例中,将视图 view_dept_201 的 SELECT 权限授予用户 mgr200:

    GRANT SELECT
    ON view_dept_201
    TO mgr200;
    

    测试权限

    以 mgr200 身份登录并从 view_dept_201 中选择记录:

    EXECUTE AS mgr200;
    
    SELECT * FROM rocket.view_dept_201;
    
    emp_id   name        hire_date 
    112      LOLLI POP   06/30/2007 
    134      VAN CHIN    10/15/2007 
    150      DON GUN     03/01/2009
  • 相关阅读:
    7. 初识Python之函数
    6. 初识Python之dict和set
    5. 初识Python之循环语句
    4. 初识Python之条件语句
    3. 初识Python之列表
    原生js实现一个小小的轮波
    原生js实现弹幕
    js实现一个简单的学生管理系统
    js绘制时钟
    js实现的学生管理系统
  • 原文地址:https://www.cnblogs.com/Javi/p/6860212.html
Copyright © 2020-2023  润新知