运行 sql 来自 bat 文件的脚本(oracle,批处理)

Run sql script from bat file (oracle, batch)

我有 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;

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

这是什么意思?

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

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