我必须对数据库类使用SQLPLUS,我们的第一个任务是简单保存。
我按照说明进行了操作。(我正在使用PuTTY来访问sqlplus)
“在本练习中使用以下SQL命令,并尝试使用SAVE和SPOOL命令来保存SQL命令并输出到外部文件。
select table_name from all_tables where owner='UNIVERSITY'; select * from university.faculty; select * from university.clubs;
对于此实验,请执行以下操作:
在SQL>提示符下,键入Save test.sql(或save test.sql replace如果文件已存在),然后单击enter;然后键入任何SQL命令,这些命令将保存到test.sql文件。稍后,您可以使用START命令来运行保存的SQL命令。例如:SQL>启动test.sql
Save test.sql
save test.sql replace
enter
在SQL>提示符下,键入spool output.txt然后enter; 然后键入任何SQL命令;完成后,键入“ spool off”;命令和结果将保存到文件output.txt。如果再次在spool命令中使用该文件,则该文件将被覆盖。上课前,在D2L上交文件test.sql并output.txt在Dropbox中上交。”
spool output.txt
test.sql
output.txt
(显然,寻求帮助并不违反规则,因为说明已经正确了。我只是不理解它们,或者它们是错误的)
当我输入SAVE test.sql时,yield =>“ Nothing to save”
当我在查询后键入SAVE test.sql时,它仅保存最后键入的查询。
如何保存所有查询而不是最后输入的所有查询?
SAVE将SQL * Plus缓冲区的内容保存到文件中。缓冲区将替换为您编写的每个SQL语句,因此仅获得最后一条命令。保存具有append 将附加到文件的命令。
append
因此,首先创建您的文件。
save test.sql create
并在每个SQL脚本之后附加文件。
select * from employees / save test.sql append; select * from departments / save test.sql append;
等等