我有一个添加两个数字的过程。我想从shell.i调用该过程可以调用没有参数的过程。对于前
create or replace procedure printTheName
is
begin
dbms_output.put_line('This is a procedure'):
end;
/
这是打印消息的过程。我可以使用这个
从shell调用它#!/bin/sh
sqlplus -s system/oracle10g@orcl<<END
execute printTheName();
commit;
这个运行正常现在我有一个程序,它添加两个数字我必须从shell调用这是程序。
declare
a number(2);
b number(2);
c number(2);
begin
a:=&a;
b:=&b;
c:=a+b;
dbms_output.put_line(a|| ' + '||b||' = '||c);
end;
答案 0 :(得分:0)
使用管道将命令传递给 sqlplus
echo "execute printTheName(10,10);
commit;
execute procedure2();
" | sqlplus system/oracle10g@orcl
请注意,您无法在双引号内放置任意数量的 sqlplus 命令。
答案 1 :(得分:0)
路西法,重定向到输出:
{
echo "execute printTheName(10,10);
commit;
execute procedure2();
" | sqlplus system/oracle10g@orcl
} > fileout.txt