SQLPLUS保存到文件

Ste*_*her 6 sql oracle ssh sqlplus

我必须使用SQLPLUS作为我的数据库类,我们的第一个任务是简单保存.

我按照说明..(我使用PuTTY访问sqlplus)

"在本练习中使用以下SQL命令,并尝试使用SAVE和SPOOL命令将SQL命令和输出保存到外部文件.

select table_name from all_tables where owner='UNIVERSITY';
select * from university.faculty;
select * from university.clubs;
Run Code Online (Sandbox Code Playgroud)

对于本实验,请执行以下操作:

  • 在SQL>提示符下,键入Save test.sql(或者save test.sql replace如果文件已经存在),然后点击enter; 然后键入任何SQL命令,命令将保存到test.sql文件中.稍后您可以使用START命令运行保存的SQL命令.例如:SQL> start test.sql

  • 在SQL>提示符下,键入spool output.txtthen enter; 然后键入任何SQL命令; 完成后键入'spool off'; 命令和结果将保存到文件output.txt中.如果再次在spool命令中使用,则将覆盖该文件.在课前的星期一之前将文件test.sqloutput.txtD2L中的保管箱上交."

(显然,寻求帮助并不违反规则,因为说明已经在那里了......我根本就不理解他们或者他们错了)

当我输入SAVE test.sql时,我得=>"没什么要保存的"

当我在查询后键入SAVE test.sql时,它只保存最后一个键入的查询.

如何保存所有查询而不是仅输入最后一个查询?

Sat*_*hat 6

如何保存所有查询而不是仅输入最后一个查询?

SAVE将SQL*Plus缓冲区的内容保存到文件中.缓冲区将替换为您编写的每个SQL语句,因此您只获得最后一个命令.保存有一个append 将附加到该文件的命令.

所以,首先创建你的文件.

save test.sql create
Run Code Online (Sandbox Code Playgroud)

并在每个SQL脚本之后附加文件.

select * from employees
/
save test.sql append;
select * from departments
/
save test.sql append;
Run Code Online (Sandbox Code Playgroud)

等等