Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2011, 16h40   #1
Membre du Club
 
Inscription : novembre 2009
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2009
Messages : 84
Points : 52
Points : 52
Par défaut Accéder à un synonyme public ayant le même nom qu'un objet

Bonjour,

Je me pose une question qui est la suivante :

Nous somme dans un schema 'toto' par exemple, et cet utilisateur possède un table 'produits'. Cet utilisateur possède le rôle DBA.

Nous créons un synonyme public 'produits' qui pointe vers la table 'magasin.produits' par exemple.

À partir du schéma 'toto', comment utiliser le synonyme public 'produits' sachant qu'on possède déjà un object (ici une table) 'produits' ?

J'ai tenté de préfixer le synonyme par public => public.produits lors d'un SELECT, mais j'ai une erreur ORA-00903: nom de table non valide.

Une idée ?


Merci d'avance.
shaoling est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 16h56   #2
Membre du Club
 
Inscription : décembre 2010
Messages : 190
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 190
Points : 60
Points : 60
Deux objets ayant le même nom dans le même schéma ne peuvent cooexister.

Donc dans ton schéma toto, soit tu as la table, soit le synonym 'PRODUITS'.
AbouZaid est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 23/05/2011, 17h07   #3
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Oracle Database Resolution of Synonyms: Example
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 23/05/2011, 17h09   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 808
Points : 5 808
Object Name Resolution
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/05/2011, 17h30   #5
Membre du Club
 
Inscription : novembre 2009
Messages : 84
Détails du profil
Informations personnelles :
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2009
Messages : 84
Points : 52
Points : 52
Citation:
Envoyé par AbouZaid Voir le message
Deux objets ayant le même nom dans le même schéma ne peuvent cooexister.

Donc dans ton schéma toto, soit tu as la table, soit le synonym 'PRODUITS'.
Oui ça je sais bien, c'est pour ça que j'ai précisé que je créais un synonyme public, du coup ça n'appartient pas au même schéma.

Donc pour résumer, si on a une table dans le schéma qui porte le même nom qu'un synonyme public, on ne pourra pas accéder à ce synonyme public... et on sera obligé de passer par schema.nom_table ?
shaoling est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 17h39   #6
Membre du Club
 
Inscription : décembre 2010
Messages : 190
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 190
Points : 60
Points : 60
je n'ai pas essayé, mais ce qui est sur, c'est que les objets ont un identifiant unique.
AbouZaid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 18h11   #7
Rédacteur
 
Inscription : décembre 2002
Messages : 2 385
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 385
Points : 3 263
Points : 3 263
Citation:
Envoyé par AbouZaid Voir le message
Deux objets ayant le même nom dans le même schéma ne peuvent cooexister.
C'est un peu rapide comme affirmation !
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SQL> CREATE TABLE test(a int);
 
TABLE creee.
 
SQL> CREATE INDEX test ON test(a);
 
INDEX cree.
 
SQL> SELECT object_name, object_type FROM user_objects 
WHERE object_name='TEST';
 
 
OBJECT_NAME     OBJECT_TYPE
--------------- -------------------
TEST            TABLE
TEST            INDEX
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/05/2011, 18h40   #8
Membre du Club
 
Inscription : décembre 2010
Messages : 190
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 190
Points : 60
Points : 60
Vous avez raison, j'ai oublié de mentionner 'Objet De même type'
AbouZaid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h15.


 
 
 
 
Partenaires

Hébergement Web