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 29/03/2006, 12h53   #1
Invité de passage
 
Inscription : mars 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 2
Points : 0
Points : 0
Par défaut Utilisation d'une variable dans un bloc pl/sql

Bonjour,

J'utilise oracle 10.2.0. Je viens de créer une procédure stockée qui fonctionne mais le souci est de savoir si je peux utiliser dans ma procédure une variable qui est tapée au clavier. Si oui, comment faire ??????

Par avance, merci
paris2000fr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 13h55   #2
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Oui, c'est possible avec
- ACCEPT qui permet de lire au clavier
- VARIABLE qui permet de définir des bind variables PL/SQL.

Ex:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
SET echo ON
 
accept iv
 
variable v varchar2(10);
 
CREATE OR REPLACE procedure pv(p varchar2)
IS
begin
dbms_output.put_line(p);
end;
/
 
SET serveroutput ON;
 
exec :v:= '&iv';
exec pv(:v);
Ce qui donne à l'exécution:



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
26
27
28
29
30
 
SQL> SET echo ON
SQL>
SQL> accept iv
ok
SQL>
SQL> variable v varchar2(10);
SQL>
SQL> CREATE OR REPLACE procedure pv(p varchar2)
  2  IS
  3  begin
  4  dbms_output.put_line(p);
  5  end;
  6  /
 
Procedure created.
 
SQL>
SQL> SET serveroutput ON;
SQL>
SQL> exec :v:= '&iv';
 
PL/SQL procedure successfully completed.
 
SQL> exec pv(:v);
ok
 
PL/SQL procedure successfully completed.
 
SQL>
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 14h08   #3
Invité de passage
 
Inscription : mars 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 2
Points : 0
Points : 0
OK je te remercie de ta réponse
paris2000fr 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 22h54.


 
 
 
 
Partenaires

Hébergement Web