資料庫批次授權指令碼

huangdazhu發表於2014-02-27
使用者批次授權以及建立同義詞的指令碼
DECLARE
  p_grantee VARCHAR2(30) := 'HUANGDAZHU';
BEGIN
  FOR rec IN (SELECT object_name,
                     object_type,
                     DECODE(object_type,
                            'TABLE ',
                            'ALL ',
                            'VIEW ',
                            'SELECT ',
                            'EXECUTE ') grant_type
                FROM user_objects) LOOP
    BEGIN
      EXECUTE IMMEDIATE 'grant select,delete,update,insert  on   ' || rec.object_name ||
                        '   to   ' || p_grantee;
    EXCEPTION
      WHEN OTHERS THEN
        dbms_output.put_line(SUBSTR(SQLERRM, 1, 240));
    END;
  END LOOP;
END;



begin
for i in (
select owner,object_name from dba_objects t
where t.owner='FWMS4GZ'
) loop
execute immediate 'create synonym '||i.object_name ||' for '||i.owner||'.'||i.object_name ;
end loop;
end;
/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28869493/viewspace-1094149/,如需轉載,請註明出處,否則將追究法律責任。

相關文章