Chinaunix
标题:
SqlPlus如何运行SQL脚本文件啊?盼高手解答!
[打印本页]
作者:
thanksharp
时间:
2008-11-26 10:56
标题:
SqlPlus如何运行SQL脚本文件啊?盼高手解答!
我自己写了一个.sql脚本文件,在sqlplus里无法运行!
SQL> @./test2.sql;
SQL> -- Local variables here
SQL> spool 1.txt;
SQL>
SQL> declare
2 r1 number(9);
3 iii int:=0;
4 kkk int:=1;
5 begin
6 -- Test statements here
7 --print iii;
8 dbms_output.put_line('goo........');
9
10 WHILE iii < kkk LOOP
11 begin
12 this_insert(0,r1);
13 dbms_output.put_line(r1);
14 dbms_output.put_line(iii);
15 --- print r1;
16 iii:=iii+1;
17 end;
18 END LOOP;
19 end;
20 //运行时一直停在这里不动。。。。。。。。。。。。。。。
另外,我想在LINUX下用shell脚本的方式自动执行这个.sql脚本也行不通:
sqlplus -s system/testi @$sql |tee -a $logs
作者:
crosslife
时间:
2008-11-26 11:00
@文件路径
如
@/usr/test.sql
作者:
thanksharp
时间:
2008-11-26 11:09
楼上的大侠,我就是这样运行的,但在sqlplus里面,就会停在那儿不动。。不知道是不是sql脚本的问题。
test2.sql:
set echo on;
-- Local variables here
spool 1.txt;
declare
r1 number(9);
iii int:=0;
kkk int:=1;
begin
-- Test statements here
--print iii;
dbms_output.put_line('goo........');
WHILE iii < kkk LOOP
begin
this_insert(0,r1);
dbms_output.put_line(r1);
dbms_output.put_line(iii);
--- print r1;
iii:=iii+1;
end;
END LOOP;
end;
shell脚本:
sql="./test2.sql"
logs="./log_procc.log"
echo "start date:`date`>>>>>>>>>>>>" |tee -a $logs
sqlplus -s system/test1 @$sql |tee -a $logs
echo "end date:`date`<<<<<<<<<<<<<" |tee -a $logs
我直接在sqlplus里面运行@./test2.sql也不行,敲回车就一直显示行号。。。。
SQL> @./test2.sql
20
21
22
23
作者:
ILoveMK
时间:
2008-11-26 11:19
提示:
作者被禁止或删除 内容自动屏蔽
作者:
ILoveMK
时间:
2008-11-26 11:24
提示:
作者被禁止或删除 内容自动屏蔽
作者:
thanksharp
时间:
2008-11-26 11:35
标题:
回复 #5 ILoveMK 的帖子
to ILoveMK:
我把它加上也不行:(,甚至去掉前面的spool 1.txt; 都不行。。。
但我手动运行:
SQL> @./test2.sql
20
21
22
23 //一直停在这里,并显示行号,敲N多回车无反应,于是按Ctrl + C
//然后手动运行r 又可以成功,说明语法无错误,只是少了点什么东东。我的最终目的是用shell脚本让它自动运行,初次接触sqlplus,请大家指点迷津啊。。。。
SQL> r
1 declare
2 r1 number(9);
3 iii int:=0;
4 kkk int:=1;
5 begin
6 -- Test statements here
7 --print iii;
8 dbms_output.put_line('goo........');
9 WHILE iii < kkk LOOP
10 begin
11 this_insert(0,r1);
12 dbms_output.put_line(r1);
13 dbms_output.put_line(iii);
14 --- print r1;
15 iii:=iii+1;
16 end;
17 END LOOP;
18 end;
19
20*
goo........
198
0
PL/SQL procedure successfully completed.
SQL>
作者:
thanksharp
时间:
2008-11-26 11:49
问题得以解决了。。。。。。。
需要在最后加一个/ 汗~~~~~
感谢两位!!
作者:
ILoveMK
时间:
2008-11-26 11:59
提示:
作者被禁止或删除 内容自动屏蔽
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2