从bat文件运行SQL脚本(Oracle,批处理)

时间:2019-06-14 21:26:46

标签: sql oracle batch-file sqlplus

我有 bat 脚本:

@echo off
cls
:start
sqlplus user/pass@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=X.Y.Z.F)(Port=1521))
                               (CONNECT_DATA=(SID=some_sid))) @test.sql
goto end

:end
pause 0

和我的 test.sql

DECLARE
test varchar2(32000);
BEGIN
  test:='value';
  DBMS_OUTPUT.PUT_LINE('string test');
  DBMS_OUTPUT.PUT_LINE(test||' test');
END;

当我运行它时,我得到了:

enter image description here

这是什么意思?

1 个答案:

答案 0 :(得分:5)

您需要输入正斜杠(/)刷新缓冲区。

DECLARE
test varchar2(32000);
BEGIN
  test:='value';
  DBMS_OUTPUT.PUT_LINE('string test');
  DBMS_OUTPUT.PUT_LINE(test||' test');
END;
/   <<<<<<<<<<<<<----- forward slash