Bonjour à tous,
je veux accorder le privilage select sur toutes les tables du schéma user1 au user2, c'est quoi la requête SVP
Salutations.
Bonjour à tous,
je veux accorder le privilage select sur toutes les tables du schéma user1 au user2, c'est quoi la requête SVP
Salutations.
une solution qui te permettra de faire ce que tu veux sans devoir te taper l'ecriture de chaque requete pour chaque table...
Les tables sont dans le schema user1.
Ensuite tu nettoies le fichier des lignes qui ne te servent pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 set linesize 300 set echo off set head off spool grantselectontableuser2.sql; select 'grant select on user1.'||object_name||' to user2;' from all_objects (ou user_objects, dba_objects) where object_type='TABLE' and owner= 'USER1'; spool off;
sachant que dans le spool tu peux configurer le tout pour n'avoir que le resultat du skull au dessus...
Cf doc oracle.
une autre astuce pour eviter de devoir acceder au table de user1 par
"Select * from user1.table1" par exemple a partir de user2, tu crés des synonymes dessus
meme mecanique que le skull au dessus
tu nettoies et tu executes le script généré
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 spool createsynonymeuser2.sql; select 'create synonym user2.'||object_name||' for user1.'||object_name||';' from all_objects (ou user_objects, dba_objects) where object_type='TABLE' and owner= 'USER1'; spool off;
Maintenant tu peux faire select * from table1 avec user2
voila en esperant que ca peut taider il y a d'autres solutions.. en voila une qui aura le merite de t'aider...![]()
Partager