在Oracle写存储过程的时候,如果有特殊字符,在本机自己编写,没有问题,但是如果要迁移到别的库中,将存储过程脚本导出,并导入,就可能存在问题。
典型的例如“&”符号,如果存储过程出现此符号,但Oracle认为这是特殊符号,是读取输入变量的意思,导入存储过程就会提示你输入值。
解决办法:加入一句话:set define off 即可。
写道
spool testsj.log
set define off
prompt
prompt Creating procedure TESTSJ
prompt =========================
prompt
create or replace procedure Testsj is
v_message varchar2(100);
begin
v_message := '祖国人民万岁! 庆祝国庆';
dbms_output.put_line(v_message);
end;
/
spool off
set define off
prompt
prompt Creating procedure TESTSJ
prompt =========================
prompt
create or replace procedure Testsj is
v_message varchar2(100);
begin
v_message := '祖国人民万岁! 庆祝国庆';
dbms_output.put_line(v_message);
end;
/
spool off