我在声明块中收到错误。我把它粘贴在代码下面。
function XYZ
{
sqlplus -s $DB_USR/$DB_USR$pwd_suffix@$SID
set timing off
set serveroutput on size 10000
set feedback off
spool logname_$sid.out
variable ex_code number
whenever sqlerror exit 1
begin
:ex_code :=0;
end;
/
declare
l_cnt number := 0;
l_sql varchar2(4000) := '';
l_tmp_name varchar2(100) := '';
some more code...
}
./ XYZ.sh:第26行:意外令牌附近的语法错误`(' ./XYZ.sh:第26行:`l_sql varchar2(4000):='';'
-bash-3.2 $
有人能告诉我导致问题的原因是什么吗?
答案 0 :(得分:0)
我认为你想要一个here-document,假设sqlplus
正在读取标准输入:
function XYZ
{
sqlplus -s $DB_USR/$DB_USR$pwd_suffix@$SID <<-EOF
set timing off
set serveroutput on size 10000
set feedback off
spool logname_$sid.out
variable ex_code number
whenever sqlerror exit 1
begin
:ex_code :=0;
end;
/
declare
l_cnt number := 0;
l_sql varchar2(4000) := '';
l_tmp_name varchar2(100) := '';
some more code...
EOF
}