En tant que Système dans Sqlplus, comment faire j'ai une requête d'un autre utilisateur de la table?
Fonction pour sélectionner le nom de system_privilege_map Système a été accordée:
SELECT ANY TABLE
...et beaucoup d'autres * TOUTES les TABLES.
Clairement l'exécution de
select * from the_table;
select * from the_table;
...les filets de la réponse:
ERREUR à la ligne 1:
ORA-00942: la table ou la vue n'existe pas
Je peux me connecter en tant qu'utilisateur et exécuter la même commande l'amende juste.
Je suis en cours d'exécution en vertu de l'hypothèse que je devrais être en mesure d'exécuter des requêtes (select dans ce cas) agaisnt générale de l'utilisateur de la table DB. Est mon hypothèse correcte, et si oui, comment dois-je faire?
OriginalL'auteur | 2008-09-23
Vous devez vous connecter pour publier un commentaire.
Si the_table est la propriété de l'utilisateur "some_user" puis:
OriginalL'auteur Tony Andrews
Comme les réponses précédentes ont dit, vous pouvez préfixer le nom de l'objet avec le nom du schéma:
Ou vous pouvez utiliser un synonyme (privé ou public):
Ou vous pouvez émettre un alter session de commande pour définir le schéma par défaut pour le celui que vous voulez:
Remarque que cela définit le schéma par défaut, et est l'équivalent de préfixer tous (non qualifié) les noms d'objet avec
schema_name
. Vous pouvez toujours préfixe objets avec un autre nom de schéma pour accéder à un objet à partir d'un autre schéma. À l'aide deSET current_schema
n'affecte pas vos privilèges: vous avez encore les privilèges de l'utilisateur connecté en tant que, pas le schéma que vous avez défini.OriginalL'auteur Gazmo
Que vous devez faire:
Ou utilisez des Synonymes...
OriginalL'auteur cagcowboy