欢迎来到天天文库
浏览记录
ID:8972777
大小:18.08 KB
页数:6页
时间:2018-04-13
《oracle中sqlplus使用的一些技巧》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Oracle中SQL*PLUS使用的一些技巧Sql*plus中蕴藏着好多技巧,如果掌握这些技巧,对于在oracle数据库下进行快速开发与有效维护数据库都是有益的。 1.使用SQL*PLUS动态生成批量脚本 将spool与select命令结合起来使用,可以生成一个脚本,脚本中包含有可以批量执行某一任务的语句。 例1: 生成一个脚本,删除SCOTT用户下的所有的表: a.创建gen_drop_table.sql文件,包含如下语句: SPOOL c:drop_table.sql SELECT'DROPTABLE'
2、
3、
4、table_name
5、
6、';'FROMuser_tables; SPOOLOFF b.以SCOTT用户登录数据库 SQLPLUS>@…..gen_dorp_table.sql c.在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示: SQL> SELECT'DROPTABLE'
7、
8、table_name
9、
10、';'FROMuser_tables; 'DROPTABLE'
11、
12、TABLE_NAME
13、
14、';' ---------------------------------
15、--- DROPTABLEDEPT; DROPTABLEEMP; DROPTABLEPARENT; DROPTABLESTAT_VENDER_TEMP; DROPTABLETABLE_FORUM; 5rowsselected. SQL> SPOOLOFF d.对生成的drop_table.sql文件进行编辑去掉不必要的部分,只留下droptable…..语句 e.在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。 SQLPLUS>@c:dorp_table.s
16、ql 在上面的操作中,在生成的脚本文件中会有多余的字符,如运行的sql语句,标题,或返回的行数,需要我们编辑该脚本后再运行,给实际的操作带来诸多不便。懒惰是人的本性,这促使我们用更简单的办法来实现上面的任务。 a.创建gen_drop_table.sql文件,包含如下语句: setechooff setfeedbackoff setnewpagenone setpagesize5000 setlinesize500 setverifyoff setpagesize0 settermoff settr
17、imson setlinesize600 setheading off settimingoff setverifyoff setnumwidth38 SPOOL c:drop_table.sql SELECT'DROPTABLE'
18、
19、table_name
20、
21、';'FROMuser_tables; SPOOLOFF b.以SCOTT用户登录数据库 SQLPLUS>@…..gen_dorp_table.sql c.在c盘根目录下会生成文件drop_table.sql文件,包含删除所有表的语句,如下所示:
22、 DROPTABLEDEPT; DROPTABLEEMP; DROPTABLEPARENT; DROPTABLESTAT_VENDER_TEMP; DROPTABLETABLE_FORUM; d.在scott用户下运行dorp_table.sql文件,删除scott用户下所有的表。 SQLPLUS>@c:dorp_table.sql 2.将一个表中的数据导出生成一个文本文件,列与列之间以”,”隔开 setechooff setfeedbackoff setnewpagenone setpagesi
23、ze5000 setlinesize500 setverifyoff setpagesize0 settermoff settrimson setlinesize600 setheading off settimingoff setverifyoff setnumwidth38 SPOOL c:drop_table.sql selectDEPTNO
24、
25、','
26、
27、DNAMEFROMDEPT; SPOOLOFF 将上面的内容保存为一个文本文件后,以scott登录,执行该文件后显示结果: 10,ACCO
28、UNTING 20,RESEARCH 30,SALES 40,OPERATIONS 通过上面的两个例子,我们可以将: setechooff setfeedbackoff setnewpagenone setpagesize5000 setl
此文档下载收益归作者所有