这篇主要讲oracle插入数据的两种方式,一种是.sql文件,一种是shell脚本本文数据是在linux环境下测试的
一、sql文件方式
1、新建.sql文件vi test_insert.sql
2、编辑脚本我这里写的是循环向数据库中插入脚本,脚本中什么语句都可以写
create smallfile tablespace AA1 datafile '/opt/AA1.dbf' size 2g autoextend on next 1g maxsize 5g;
create table test1(n number,
id char(2000),
shijian timestamp) tablespace AA1;
declare
i number;
begin
i := 1;
while i<100000 loop
insert into test1 values(i,TO_CHAR('1.89'+i),sysdate);
commit;
Dbms_Lock.sleep(1);
i := i+1;
end loop;
end;
/
写循环注意最后一行的/一定要有,/表示结束符,题主因为没有写/,脚本一直执行不成功,搞了好久,其实是个很小的问题
3、执行.sql文件SQL>@/opt/test_insert.sql
二、shell脚本
1、新建脚本文件直接输入命令vi test.sh就可以
2、在脚本中输入以下命令
su – oracle <<EOF
sqlplus / as sysdba <<EOF
drop table a1;
create table a1(n number);
insert into a1 values(100);
commit;
exit;
EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell
如果想循环插入数据,先编写一个循环插入数据的sql文件(同一中的insert.sql),然后在shell中执行sql文件就可以
su - oracle<<EOF
sqlplus / as sysdba<<EOF
@/eisoo/insert.sql
exit;
EOF
3、赋予脚本相应权限chmod 775 test.sh
4、执行脚本./test.shsh -x test.sh (可查看脚本输出信息)bash -v test.sh(可查看脚本输出信息)./test.sh &(后台运行脚本)关于其他脚本运行方式可参考这篇博文http://www.cnblogs.com/Javame/p/3582885.html