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 04/07/2011, 10h47   #1
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Par défaut Variables SQL Plus

Bonjour,

Je cherche à définir des variables sql*plus modifiables dans des block pl/sql. Je m'explique.

Idéalement mon code ressemblerait à ceci (après un sqlplus /nolog):

Code :
1
2
3
4
5
6
7
8
9
10
variable ma_valeur number
variable mon_code number
connect user1/pwd1@inst1
begin
   :ma_valeur:=0;
   :mon_code:=1;
end;
/
connect user2/pwd2@inst2
SELECT * FROM ma_table WHERE ma_col = <ma_valeur>;
Mon problème est que je ne sais pas sous quelle forme mettre <ma_valeur>.

J'ai imaginé la même chose avec un DEFINE, auquel cas <ma_valeur> est '&&ma_valeur' mais dans cette situation je ne pais pas comment modifier <ma_valeur> dans le block pl/sql.

Si vous avez une idée, je suis preneur.

(code exécuté sous instance 10g et client sqlplus 10g aussi)

Merci
macben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 14h20   #2
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
Si c'est à la ligne 10 que vous avez un souci (j'ai lu 4 fois la question sans rien comprendre), utilisez là encore le préfixe "deux points".
Code :
SELECT * FROM ma_table WHERE ma_col = :ma_valeur;
__________________
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 04/07/2011, 14h26   #3
Membre éclairé
 
Avatar de macben
 
Inscription : mars 2004
Messages : 526
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2004
Messages : 526
Points : 379
Points : 379
Envoyer un message via AIM à macben Envoyer un message via MSN à macben
Citation:
Envoyé par Pomalaix Voir le message
Si c'est à la ligne 10 que vous avez un souci (j'ai lu 4 fois la question sans rien comprendre), utilisez là encore le préfixe "deux points".
Code :
SELECT * FROM ma_table WHERE ma_col = :ma_valeur;
Question bien comprise et réponse correcte

J'étais persuadé d'avoir essayé avant de poster, j'ai tout de même réessayé après votre réponse et en effet cela fonctionne
macben 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 23h09.


 
 
 
 
Partenaires

Hébergement Web