2009-10-20 5 views

Répondre

5

Got it:

set serveroutput on 

declare 
    v_str1 varchar2(80);  
begin 
v_str1 := 'test'; 
dbms_output.put_line(v_str1); 
end; 

More info here.

0

Essayez

declare 
    v_str1 varchar2(80); 
begin 
    v_str1 := 'test'; 
    print v_str1; 
end 
+0

Donne: ORA-06550 – NitroxDM

3

La liaison La syntaxe des variables de la forme: VARNAME est principalement utilisée dans SQL * Plus (à l'exception des variables de liaison pour le SQL dynamique, je pense). Pour SQL * Developer, PL/SQL, ou d'autres applications, il y a la substitution variable "&":

 

declare 
    v_str1 varchar2(80); 
begin 
    v_str1 := &v_str; 
    print v_str1; 
end 
 

EDIT: Mon mauvais, le code pour Oracle SQL * Developer aurait dû être :


set serveroutput on; 
declare 
    v_str1 varchar2(80); 
begin 
    v_str1 := '&v_str'; 
    dbms_output.put_line(v_str1); 
end; 

Vous devez tout sélectionner et l'exécuter. Le résultat apparaîtra dans le panneau "Script Output".

+0

Il demande une valeur pour V_str puis déclenche une erreur ORA-06550. Si vous le modifiez pour imprimer: V_str1; vous obtenez la variable de liaison "v_str1" n'est pas déclarée. – NitroxDM

2

print n'est pas une fonction PLSQL. Si vous souhaitez obtenir une sortie, vous pouvez utiliser dbms_output.put_line(v_str1);

set serveroutput on;  
declare v_str1 varchar2(80); 
begin 
    v_str1 := 'test'; 
    dbms_output.put_line(v_str1); 
end; 

: v_str1 est une variable de liaison, mais vous devez déclarer non dans un PLSQL. Lorsque vous le déclarez, vous devez utiliser le mot-clé VARIABLE.

Questions connexes