zoukankan      html  css  js  c++  java
  • 052-183

    The HR user creates a stand-alone procedure as follows and grants the EXECUTE privilege on the
    procedure to many database users:
    CREATE OR REPLACE PROCEDURE create_dept ( v_deptno NUMBER, v_dname VARCHAR2, v_mgr NUMBER, v_loc NUMBER)
    BEGIN
    INSERT INTO hr.departments VALUES (v_deptno, v_dname, v_mgr, v_loc);
    END;
    The users having permission to execute the procedure are able to insert records into the DEPARTMENTS table even though they do not have the INSERT privilege on the table. You want only those users who have privileges on the DEPARTMENTS table to be able to execute the procedure successfully.
    What would you suggest to the PL/SQL developers to achieve this?
    A.Create the procedure with definer's right.
    B.Create the procedure with invoker's right.
    C.Grant the EXECUTE privilege with GRANT OPTION on the procedure to selected users.
    D.Create the procedure as part of a PL/SQL package and grant the EXECUTE privilege on the package to selected users.

    A: 错误,应创建调用者权限,而不是定义者权限
    B: 正确
    C: 错误,默认是以定义者权限创建存储过程,那么有 execute 权限就可以向部门表 insert 数据 不能实现需求 grantoption 权限是指可以把存储过程权限授权给其它人
    D: 错误,存储过程可单独创建,不需要放到包里,这样也不能实现题里的需求

  • 相关阅读:
    PP篇10 修改工单组件行
    取未清PO逻辑
    PP篇7 生产替代料齐套后处理
    PP篇9 更改计划订单
    DEBUG技巧里的问题1 双击某个变量不能显示
    HoloLens开发手记
    开始开发HoloLens应用吧 Start Developing HoloLens Apps Today
    HoloLens开发手记
    HoloLens开发手记
    HoloLens开发手记
  • 原文地址:https://www.cnblogs.com/Babylon/p/8042865.html
Copyright © 2011-2022 走看看