运行 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
我有 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