今天用.Bat 文件调用一个sql 脚本,其中.Bat 及脚本入校
sqlplus scott/tiger@orcl @E:\dy.sql >dy.txt
exit;
---------------------------------------------------------------
execute test_te(r_info);
exit;
如果r_info参数是一个系统变量,例如sysdate,那么执行没有问题,但是过程test_te里的参数需要用一般变量填充,这样就会提示没有声明r_info。
经过同事讨论,试了一下在plsql中的无名块。
declare
r_info varchar2(200);
begin
execute test_te(r_info);
end;
这时的 execute 需要去掉,因为这里的begin已经表明了这种命令。但是这样还是执行不了,最后发现少了一个‘/’,在脚本中需要在最后加入这个标识才行;
declare
r_info varchar2(200);
begin
test_te(r_info);
end;
/
这样的话就可以正常执行了,如果更完美一点的话,最后在最后加上exit 即
declare
r_info varchar2(200);
begin
test_te(r_info);
end;
/
exit;