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 13/01/2011, 16h03   #1
Invité régulier
 
titeuf
Étudiant
Inscription : novembre 2009
Messages : 63
Détails du profil
Informations personnelles :
Nom : titeuf

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2009
Messages : 63
Points : 6
Points : 6
Par défaut la différence entre print et dbms_output.put_line()

bonjour tout le monde ma question est simple
c est quoi la différence entre
Code :
  sql> dbms_output.put_line(var)
et merci
titeufdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 16h52   #2
Membre éprouvé
 
Avatar de xdescamp
 
Homme Xavier Descamps
Inscription : octobre 2008
Messages : 297
Détails du profil
Informations personnelles :
Nom : Homme Xavier Descamps
Âge : 36
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2008
Messages : 297
Points : 422
Points : 422
Envoyer un message via Skype™ à xdescamp
Bonjour,

print est une commande SQL*Plus.

dbms_output.put_line est une procédure et ne peut être appelée que dans un bloc PL/SQL.
xdescamp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/01/2011, 23h19   #3
Invité régulier
 
titeuf
Étudiant
Inscription : novembre 2009
Messages : 63
Détails du profil
Informations personnelles :
Nom : titeuf

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2009
Messages : 63
Points : 6
Points : 6
bonsoir xdescamp je suis d accord avec toi ,et tout les deux leur fonction c est l'affichage .

voila un code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
SQL> SET serveroutput ON
SQL> variable g_compteur number;
SQL> declare
  2  v_compteur  number (3) :=99;
  3  begin
  4  :g_compteur:=1;
  5  v_compteur:=:g_compteur+200;
  6  dbms_output.put_line(v_compteur);
  7  end;
  8  /
201
 
ProcÚdure PL/SQL terminÚe avec succÞs.
 
SQL> print g_compteur;
 
G_COMPTEUR
----------
         1
 
SQL> print v_compteur;print g_compteur;
SP2-0552: Variable de lien "V_COMPTEUR" non dÚclarÚe.
mais quand je remplace dbms_output.put_line(v_compteur);
avec dbms_output.put_line(g_compteur);

sql plus m affiche

Code :
1
2
3
4
5
6
7
8
 
dbms_output.put_line(g_compteur);
                     *
ERREUR Ó la ligne 6 :
ORA-06550: Ligne 6, colonne 22 :
PLS-00201: l'identificateur 'G_COMPTEUR' doit Ûtre dÚclarÚ
ORA-06550: Ligne 6, colonne 1 :
PL/SQL: Statement ignored
et quand je remplace (print g_compteur; ) avec (print v_compteur; )
la même chose il faut que je déclare les variable pourtant tout est déclaré ????
titeufdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 00h57   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 463
Points : 10 463
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Même réponses que xdescamp, vous mélangez et confondez SQL*Plus et PL/SQL.

g_compteur est déclaré dans SQL*Plus, pas dans votre PL/SQL.
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 09h49   #5
Membre éprouvé
 
Avatar de xdescamp
 
Homme Xavier Descamps
Inscription : octobre 2008
Messages : 297
Détails du profil
Informations personnelles :
Nom : Homme Xavier Descamps
Âge : 36
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2008
Messages : 297
Points : 422
Points : 422
Envoyer un message via Skype™ à xdescamp
D'ailleurs, vous avez identifié vous-même que pour accéder à g_compteur dans un bloc PL/SQL, il faut le préfixer par ":". Donc dbms_output.put_line (:g_compteur); fonctionnera.
Par contre, v_compteur n'est déclarée et n'existe que dans le bloc PL/SQL.
xdescamp 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 16h56.


 
 
 
 
Partenaires

Hébergement Web