2017-03-24 2 views
0

다른 사용 권한을 여러 사용자에게 제공해야합니다. 현재 oracle에서 수동으로 (하나씩) 스크립트를 실행합니다. -Oracle의 저장 프로 시저 내에서 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; 

답변

0

당신은 매력으로이

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; 
+0

작품에 대한 동적 SQL을 사용할 수 있습니다 :) 감사합니다. – qwerty

+0

[documentation] (https://docs.oracle.com/cloud/latest/db112/LNPLS/dynamic.htm#LNPLS011)을 읽어보십시오. 도움이 될 것입니다. – Nitish