What is wrong with this PL/SQL? Bind Variable * is NOT DECLARED
Got it:
set serveroutput ondeclare v_str1 varchar2(80); begin v_str1 := 'test'; dbms_output.put_line(v_str1);end;
The bind variables syntax of the form :VARNAME are used primarily in SQL* Plus (except for bind variables for dynamic SQL, I think).For SQL* Developer, PL/SQL Developer, or other apps, there is the "&" for variable substitution:
declare v_str1 varchar2(80);begin v_str1 := &v_str; print v_str1;end
EDIT:My bad, the code for Oracle SQL*Developer should have been:
set serveroutput on;declare v_str1 varchar2(80);begin v_str1 := '&v_str'; dbms_output.put_line(v_str1);end;
You have to select everything and execute it. The result will appear in the "Script Output" panel.
print
is not a PLSQL function. If you want to get an output, you can use 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 is a bind variable but you must declare not in a plsql. When you declare it you must use VARIABLE keyword.