这是:
declare
v_str1 varchar2(80);
begin
v_str1 := 'test';
print :v_str1;
end
当我在SQL工作表中使用SQLDeveloper运行它时,我得到了这个:
Bind Variable "v_str1" is NOT DECLARED
anonymous block completed
答案 0 :(得分:5)
知道了:
set serveroutput on
declare
v_str1 varchar2(80);
begin
v_str1 := 'test';
dbms_output.put_line(v_str1);
end;
答案 1 :(得分:3)
表单的绑定变量语法:VARNAME主要用于SQL * Plus(我认为动态SQL的绑定变量除外)。 对于SQL * Developer,PL / SQL Developer或其他应用程序,有“&”对于变量替换:
declare
v_str1 varchar2(80);
begin
v_str1 := &v_str;
print v_str1;
end
修改: 我的不好,Oracle SQL * Developer的代码应该是:
set serveroutput on;
declare
v_str1 varchar2(80);
begin
v_str1 := '&v_str';
dbms_output.put_line(v_str1);
end;
您必须选择所有内容并执行它。结果将显示在“脚本输出”面板中。
答案 2 :(得分:3)
print
不是PLSQL函数。如果您想获得输出,可以使用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是绑定变量,但您必须在plsql中声明。声明它时,必须使用VARIABLE关键字。
答案 3 :(得分:0)
尝试
declare
v_str1 varchar2(80);
begin
v_str1 := 'test';
print v_str1;
end