Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
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 31/12/2010, 10h42   #1
Invité de passage
 
Nicolas LOUIS
Inscription : octobre 2009
Messages : 3
Détails du profil
Informations personnelles :
Nom : Nicolas LOUIS

Informations forums :
Inscription : octobre 2009
Messages : 3
Points : 1
Points : 1
Par défaut Procédure stocké utilisant deux schémas

Bonjour,

J'ai un soucis pour la création d'une procédure stocké en PL/SQL assez simple.

La procédure est dans mon schéma1, et utilise des tables du schéma1 et aussi des tables du schéma2.
Quand j'exécute uniquement ma requete ca marche sans soucis. Cependant depuis qu'elle est dans ma procédure stocké, il ne trouve pas les tables du schéma2...

Voici le code pour mieux comprendre :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
CREATE OR REPLACE PROCEDURE process_post_import IS
BEGIN	
	-- [...]
	-- Ajout des pays en correspondance avec EDIR
	UPDATE CHO_APPLICABILTYCRITERIA SET APP_VALUE = (
		SELECT pays.libelle FROM "SCHEMA2"."PAYS" pays WHERE pays.id = APP_EDIR_ID ) 
	WHERE APP_DOMAIN='country' AND APP_EDIR_ID IS NOT NULL;
 	-- [...]
END;
/
Il me retourne l'erreur suivante :

Erreur(38,2): PL/SQL: SQL Statement ignored
Erreur(38,90): PL/SQL: ORA-00942: Table ou vue inexistante

Cependant, la requete marche, les tables sont bien présentes...quand je l'execute dans le même contexte que ma requete SQL (avec le même user)

Avez vous une idée ? Qu'ai je fais de mal ?

Merci bcp pour votre aide.

Nicolas.
nico.louis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2010, 12h20   #2
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
Dans du PL/SQL il faut GRANT les droits nécessaires au schema1 directement table par table et non via un rôle.
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/12/2010, 12h39   #3
Invité de passage
 
Nicolas LOUIS
Inscription : octobre 2009
Messages : 3
Détails du profil
Informations personnelles :
Nom : Nicolas LOUIS

Informations forums :
Inscription : octobre 2009
Messages : 3
Points : 1
Points : 1
Merci beaucoup ! Ca marche en effet !

Pour info j'ai utilisé la commande suivante :
grant all on SCHEMA2.PAYS to mon_user;
nico.louis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h01.


 
 
 
 
Partenaires

Hébergement Web