相信用过ORACLE数据库的童鞋,都用过PL/SQL这个工具,非常实用的一个工具,比如可以用它导出sql语句,简直轻而易举。但是有一点,它是付费软件,当然对于我们自己来说,都用的是破解版等等,那到无所谓,毕竟不是商业用途,呵呵。当然对于那些追求正版,追求开源的童鞋来说,就不喜欢用破解的。不用担心,ORACLE数据库有一套自带的工具-SQLPLUS,因为oracle数据库用于非商业是免费的(如学习,教学等),所以自然而然,这个工具对于学习也是免费的。今天主要说一下用sqlplus导出insert语句,有关sqlplus的设置,可以问度娘了,很多的,不再多说。
先写出来我的一个例子:
sethead off;
set feedback off;
set term off;
set line 400;
set pagesize 10000;
spool data.sql;
select 'insert into tablename(col1,col2,col3) values('||''''||col1||''''||','||''''||col2||''''||','||''''||col3||''''||');'
from tablename;
select 'commit;' from dual;
spool off;
注:tablename为真实存在的表,col1等是列名。
||为连接符,两个单引号之内的是字符串,唯一需要注意的是,为啥会出现四个单引号而不是三个,主要是为了连接一个单引号,最外边两个是标识它里边的内容是字符串,里边两个在脚本执行完后就变为一个了,如果为三个的话就会报错,原因是单引号一定成对出现,两个变为一个,如果为单数就会报错,这算是ORACLE的一个隐性规则吧。