--直接拿来直接用,简单、粗暴、直接(转发请注明出处,谢谢)
DECLARE
v_form_user VARCHAR2(100) := upper('fung');v_to_user VARCHAR2(100) := upper('pub_test');
CURSOR cur IS
SELECT 'GRANT SELECT,UPDATE,DELETE,INSERT ON '||s.owner||'.'||s.table_name||' TO '||v_to_user statement
FROM dba_tables s
WHERE s.owner = v_form_user;
BEGIN
FOR v_cur IN cur LOOP
EXECUTE IMMEDIATE v_cur.statement;
END LOOP;
END;