在plsql中的command window下输入ed,输入以下代码块的内容,然后点击OK,在输入"/"回车执行。
DECLARE
p_grantee VARCHAR2 (30) := 'username';
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 all on ' || rec.object_name || ' to ' || p_grantee;
EXCEPTION
WHEN OTHERS
THEN
dbms_output.put_line (SUBSTR (SQLERRM, 1, 240));
END;
END LOOP;
END;
本文介绍了一种使用PLSQL实现的批量授权方法。通过定义变量并在循环中执行动态SQL语句,可以为指定用户授予所有对象的所有权限。适用于需要对大量数据库对象进行权限管理的情况。
1138

被折叠的 条评论
为什么被折叠?



