bonjour à tous,
quelle est la syntaxe sql permettant de donner les droits de select à un user sur toutes les tables d'un autre user ?
merci car j'ai pas trouvé![]()
bonjour à tous,
quelle est la syntaxe sql permettant de donner les droits de select à un user sur toutes les tables d'un autre user ?
merci car j'ai pas trouvé![]()
Cette commande d'existe pas dans Oracle sauf s'il y a un rôle qui représente tous les droits mais ce rôle n'est pas prédéfini, il faut le créer et le gérer soi-même.
+1
Pas vraiment de demie mesures avec Oracle.
Soit tu passes par des privileges objets :
Soit tu passes par un privileges systeme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GRANT SELECT TO 'utilisateur' ON 'schema'.'nom_table' ;
Attention, l'utilisateur en question pourra consulter les datas des tables d'autres schémas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GRANT SELECT ANY TABLE TO 'utilisateur' ;
Sinon, effectivement passer par l'intermédiare d'un role. Mais il faudra gérer a la main les acces de ce role.
Sinon il est toujours possible de générer un script dynamiquement :
Connecté sur le user1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 set feed off set trimspool on set head off set pages 0 spool grant_select.sql select 'grant select to user2 on ' || table_name || ';' from user_tables; spool off @grant_select
Partager