Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
从oracle中的存储过程中授予oracle中的权限_Oracle_Permissions_Grant - Fatal编程技术网

从oracle中的存储过程中授予oracle中的权限

从oracle中的存储过程中授予oracle中的权限,oracle,permissions,grant,Oracle,Permissions,Grant,我必须为不同的用户提供多个权限。目前,我在oracle中手动(逐个)运行脚本,如- GRANT SELECT ON xyz.a_BCKUP TO abc; GRANT SELECT ON xyz.b_BCKUP TO abc; GRANT SELECT ON xyz.c_BCKUP TO abc; GRANT SELECT,INSERT,DELETE,UPDATE ON abc.map1 TO xyz; GRANT SELECT,INSERT,DELETE,UPDATE ON abc

我必须为不同的用户提供多个权限。目前,我在oracle中手动(逐个)运行脚本,如-

 GRANT SELECT ON xyz.a_BCKUP TO abc;
 GRANT SELECT ON xyz.b_BCKUP TO abc;
 GRANT SELECT ON xyz.c_BCKUP TO abc;

 GRANT SELECT,INSERT,DELETE,UPDATE ON abc.map1 TO xyz;
 GRANT SELECT,INSERT,DELETE,UPDATE ON abc.map2 TO xyz;
 GRANT SELECT,INSERT,DELETE,UPDATE ON abc.map3 TO xyz;
我的目标是一次性运行它。我可以只放入一个SP并执行吗。它在甲骨文中有效吗?我对此不是很确定。没有SPs的情况下有什么想法

CREATE or replace
PROCEDURE GRANTS AS
BEGIN
*grant permission script*
END;

您可以为此使用动态SQL

CREATE OR REPLACE PROCEDURE GRANT_PROC AS
v_sql VARCHAR2(10000);
BEGIN
  v_sql := 'GRANT SELECT ON xyz.a_BCKUP TO abc';
  EXECUTE IMMEDIATE v_sql;
END;
作为一种魅力:)谢谢。请阅读。会有帮助的。