Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Sql*Plus
Sql*Plus Forum d'entraide sur Oracle Sql*Plus
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 05/12/2006, 15h19   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 1
Points : 1
Par défaut [FAQ][Sql*Plus] Utilisation de variable

Bonjour,

Je viens vers vous pour un problème que j'ai sur l'utilisation d'une variable dans du code sql.

Voici le contexte:
J'ai un fichier test.cmd qui contient :

Code :
sqlplus login/mdp@nom_base @test.sql
Et un fichier test.sql qui contient :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
SET PAGESIZE 0
SET LINESIZE 500
SET FEEDBACK OFF
SET HEADING OFF
SET VERIFY OFF
SET TRIMSPOOL ON
 
ACCEPT p_refcoop PROMPT 'Entrez la refcoop a reinitialiser : '
 
SELECT DISTINCT so0.var53 INTO :cip_pharm2
FROM so0, xlink_vd_ar0_so0 smep
WHERE smep.refcoop = '&p_refcoop'
AND so0_nrid = smep.so0_nrid;
 
ACCEPT p_confirm PROMPT 'Etes-vous sur de vouloir reinitiliaser la refcoop pour le cip &cip_pharm : '
 
pause
...
Mon problème est que je n'arrive pas à afficher la valeur de ma variable dans laquelle j'ai mis le résultat du select (cip_pharm2). Le select retourne bien une valeur puisqu'elle est affichée automatiquement par sqlplus quand il l'éxecute (d'ailleurs j'aimerai bien la faire disparaître mais je ne sais pas quelle variable je dois mettre à OFF pour cela enfi c'est un autre problème).

J'ai essayé &cip_pharm2, %cip_pharm2 et plein d'autres choses mais pas moyen d'arriver à afficher la valeur.

Auriez-vous une idée?

Merci d'avance,
Kirmok
kirmok55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 15h09   #2
Invité de passage
 
Inscription : novembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 4
Points : 1
Points : 1
Bonjour,

Un DBA travaillant à la maison mère m'a trouvé une solution.

Pour info, je vous mets le code au cas où, ça peut toujours être utile.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
SET PAGESIZE 0
SET LINESIZE 500
SET FEEDBACK OFF
SET HEADING OFF
SET VERIFY OFF
SET TRIMSPOOL ON
 
ACCEPT p_refcoop PROMPT 'Entrez la refcoop a reinitialiser : '
 
col cip_pharm2 noprint new_value NEW_cip_pharm2
 
SELECT DISTINCT so0.var53 INTO cip_pharm2
FROM so0, xlink_vd_ar0_so0 smep
WHERE smep.refcoop = '&p_refcoop'
AND so0_nrid = smep.so0_nrid;
 
ACCEPT p_confirm PROMPT 'Etes-vous sur de vouloir reinitiliaser la refcoop pour le cip &NEW_cip_pharm2 : '
 
SET term off
    whenever sqlerror exit
    SELECT 1/(1-decode('&p_confirm', 'O', 0, 'o', 0, 1)) FROM dual;
SET term ON
 
pause
...
A bientôt,
Kirmok
kirmok55 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 13h38.


 
 
 
 
Partenaires

Hébergement Web