使用脚本 sh 在文件中发送 SQL 过程的结果
Send result of SQL procedure in a file with a script sh
我在一个文件中有一个 SQL 过程,我想在 sh 脚本中调用这个过程,然后将结果发送到一个文件中(无论文件在哪里)。
我不知道我做得好不好,但我写的是:
#!/bin/ksh
#exit 0
VAR=$(sqlplus /NOLOG <<!
connect E760/E760@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=p595n11)(PORT=1521))(CONNECT_DATA = (SID = DBUVNSD5)))@PA_IND_DELAYS_BODY.sql;
!)
result=`sqlplus / <<SCRIPT| grep ^result | sed "s/^result: //"
set serveroutput on
declare
var_truc_result VARCHAR2(255);
begin
export_csv('','');
dbms_output.put_line( 'result: ' || var_truc_result);
end;
/
exit
SCRIPT`
sqlplus "system/ADMIN" <<!
exec export_csv([=11=],);
!
echo var_truc_result is: "$result"
经过一些搜索,我创建并测试了一个小代码片段以从 dbms_output 获取打印的文本。
#!/bin/bash
result=$(sqlplus64 -S <username>/<password>@<IPADDRESS>/<SERVICENAME> << EOF
set serveroutput on;
begin
dbms_output.put_line('hello '||'[=10=]');
end;
/
exit;
EOF
)
echo "result=$result"
你只需要处理 $result
变量来 grep 你的输出。
我 运行 它在 debian 8 下,我没有 ksh 但使用了 bash 和我的 sqlplus bin 名称 sqlplus64.
sqlplus -S参数解释
-S Sets silent mode which suppresses the display of
the SQL*Plus banner, prompts, and echoing of
commands.
此外,这是另一个计算器 question 和从 sqlplus 获得 select
查询结果的好答案。
希望本文能帮助您解决问题。
我在一个文件中有一个 SQL 过程,我想在 sh 脚本中调用这个过程,然后将结果发送到一个文件中(无论文件在哪里)。
我不知道我做得好不好,但我写的是:
#!/bin/ksh
#exit 0
VAR=$(sqlplus /NOLOG <<!
connect E760/E760@(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=p595n11)(PORT=1521))(CONNECT_DATA = (SID = DBUVNSD5)))@PA_IND_DELAYS_BODY.sql;
!)
result=`sqlplus / <<SCRIPT| grep ^result | sed "s/^result: //"
set serveroutput on
declare
var_truc_result VARCHAR2(255);
begin
export_csv('','');
dbms_output.put_line( 'result: ' || var_truc_result);
end;
/
exit
SCRIPT`
sqlplus "system/ADMIN" <<!
exec export_csv([=11=],);
!
echo var_truc_result is: "$result"
经过一些搜索,我创建并测试了一个小代码片段以从 dbms_output 获取打印的文本。
#!/bin/bash
result=$(sqlplus64 -S <username>/<password>@<IPADDRESS>/<SERVICENAME> << EOF
set serveroutput on;
begin
dbms_output.put_line('hello '||'[=10=]');
end;
/
exit;
EOF
)
echo "result=$result"
你只需要处理
$result
变量来 grep 你的输出。 我 运行 它在 debian 8 下,我没有 ksh 但使用了 bash 和我的 sqlplus bin 名称 sqlplus64.sqlplus -S参数解释
-S Sets silent mode which suppresses the display of the SQL*Plus banner, prompts, and echoing of commands.
此外,这是另一个计算器 question 和从 sqlplus 获得
select
查询结果的好答案。
希望本文能帮助您解决问题。