Problème d'affectation d'un privilège

Résolu
cs_goldray Messages postés 34 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 29 décembre 2012 - 2 déc. 2012 à 00:05
cs_goldray Messages postés 34 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 29 décembre 2012 - 2 déc. 2012 à 20:00
Bonsoir,
je veux affecter un privilège à un utilisateur .Ce dernier aura le droit de consulter seulement les lignes dont la ville='paris' .Mais le problème j'ai déjà saisie la requête ci-dessous mais sans succès
grant select * from fournisseur where ville='paris' ON fournisseur TO user1 ;

msg d'erreur:
grant select * from fournisseur where ville='paris' ON fournisseur TO user1
             *
ERREUR à la ligne 1 :
ORA-00969: mot-clé ON absent

merci d'avance

2 réponses

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
2 déc. 2012 à 15:54
Salut,

tu ne peux pas faire comme ça,

il faut créer une "VIEW" par user et requéter de façon dynamique

Créer les vues de la forme NOM_USER

/* Vue pour dbo (droits sur paris) */
CREATE VIEW MyView_dbo
AS 
select * from fournisseur where ville='paris';
GO

/* Vue pour guest (droits sur marseille) */
CREATE VIEW MyView_guest
AS 
select * from fournisseur where ville='marseille';
GO

/* Requete dyn. pour le contexte utilisateur en cours */
DECLARE @sql varchar(max)
SET @sql = 'select * from MyView_' + user
EXEC(@sql)

/* force résultat pour "guest" */
DECLARE @sql varchar(max)
SET @sql = 'select * from MyView_' + 'guest'
EXEC(@sql) 


bye...
3
cs_goldray Messages postés 34 Date d'inscription samedi 3 avril 2010 Statut Membre Dernière intervention 29 décembre 2012 1
2 déc. 2012 à 20:00
Salut ,
merci yann_lo_san, j'ai crée une vue puis j'ai affecté un privilège à user1 et tout bien marché :) merci une autre fois
0
Rejoignez-nous