文件操作命令
1) SAV[E] filename[.ext] [CRE[ATE] | REP[LACE] | APP[END]]
----将sql缓冲区中的内容保存到filename[.ext]文件中。
----CRE[ATE] 创建一个新的文件。REP[LACE] 覆盖一个文件。APP[END] 添加到一个文件的最后。
SQL> select *
2 from student;
CODE CLASS SCORE
---------- ---------- ----------
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
SQL> l
1 select *
2* from student
SQL> save F:/a.txt create
SP2-0540: 文件 "F:/a.txt" 已经存在。
使用 "SAVE filename[.ext] REPLACE"。
SQL> save F:/aa.txt create
已创建 file F:/aa.txt
SQL> i where code = 97001;
SQL> /
CODE CLASS SCORE
---------- ---------- ----------
97001 数学 80
SQL> save F:/aa.txt append
已将 file 附加到 F:/aa.txt
2) GET filename[.ext] [LIST | NOLIST]
---- 将由filename[.ext]所指定的文件中的内容读入sql缓冲区
---- LIS[T] 表示加载后列出内容。NOL[IST] 表示不列出内容。
SQL> get F:/aa.txt list
1 select *
2 from student
3 /
4 select *
5 from student
6* where code = 97001
SQL> get F:/aa.txt nolist
3) ED[IT] filename[.ext]
---- 打开默认的编辑器,编辑文件
SQL> edit F:/aa.txt
4) SPO[OL] filename[.ext][CRE[ATE] | REP[LACE] | APP[END]] | SPOOL OFF
---- 将sql*plus中的各种操作以及运行结果都保存到filename[.ext]
---CRE[ATE] 创建一个新的文件。REP[LACE] 覆盖一个文件。APP[END] 添加到一个文件的最后。| 关闭输出
SQL> select * from student;
CODE CLASS SCORE
---------- ---------- ----------
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
SQL> column class format a20
SQL> column class format a20
SQL> select * from student;
CODE CLASS SCORE
---------- -------------------- ----------
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
SQL> set serveroutput on
SQL> dbms_output.put_line('aaaaaa');
SP2-0734: 未知的命令开头 "dbms_outpu..." - 忽略了剩余的行。
SQL> exec dbms_output.put_line('aaaaaa');
aaaaaa
PL/SQL 过程已成功完成。
SQL> spool off
5) START filename[.ext] [arg1,arg2,arg3...] | @ filename[.ext] [arg1,arg2,arg3...]
---- 运行由 filename[.ext] 指定文件中的内容。
---- 默认情况下.ext的值是sql
SQL> select *
2 from student;
CODE CLASS SCORE
---------- -------------------- ----------
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
SQL> save F:/aa.txt replace
已写入 file F:/aa.txt
SQL> start F:/aa.txt
CODE CLASS SCORE
---------- -------------------- ----------
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
SQL> @F:/aa.txt
CODE CLASS SCORE
---------- -------------------- ----------
97001 数学 80
97002 计算机 59
97003 计算机 60
97004 数学 55
SQL> l
1 select *
2* from student where code = :a
SQL> c/:a/&a/
2* from student where code = &a
SQL> save F:/aa.txt
SP2-0540: 文件 "F:/aa.txt" 已经存在。
使用 "SAVE filename[.ext] REPLACE"。
SQL> save F:/aa.txt replace
已写入 file F:/aa.txt
SQL> @F:/aa.txt
原值 2: from student where code = &a
新值 2: from student where code = 97003
CODE CLASS SCORE
---------- -------------------- ----------
97003 计算机 60
SQL> undifine a
SP2-0042: 未知命令 "undifine a" - 其余行忽略。
SQL> undefine a
SQL> @F:/aa.txt
输入 a 的值: 97001
原值 2: from student where code = &a
新值 2: from student where code = 97001
CODE CLASS SCORE
---------- -------------------- ----------
97001 数学 80