2012-01-23 43 views
4

我必须为我的数据库类使用SQLPLUS,而我们的第一项任务是简单的保存。SQLPLUS保存到文件

我跟着指示..(我使用的腻子访问的sqlplus)

“使用下面的SQL命令在这项工作,并尝试保存和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如果文件已存在),然后点击输入;然后输入任何SQL命令,命令将被保存到test.sql文件中。稍后,您可以使用START命令来运行保存的SQL命令。例如: - SQL>启动TEST.SQL

  • 在SQL>提示符下,键入spool output.txt然后进入;然后键入任何SQL命令;当完成时输入'spool off';命令和结果将被保存到文件output.txt中。如果再次使用spool命令,该文件将被覆盖。上课前打开文件test.sqloutput.txt在D2L保管箱星期一“。

(显然寻求帮助是不违反规则,因为说明书是对已经存在。我根本就没有理解他们或他们错了)

当我键入SAVE TEST.SQL我屈服=>“没有救”

当我查询后键入SAVE TEST.SQL,它仅保存最后键入查询。

我该如何保存所有m y查询,而不是只输入最后一个?

+0

发现了如何..说不上来,如果它是“正确”的方式,但结果是一样的。使用“SAVE test.sql APPEND”之后的SQL行 –

+0

我很努力地看到你需要做/学习这个的原因......为什么你不能只创建一个文本文件并输入所有的命令?从命令提示符保存它们的原因是什么?也许全方位的理由说明理由,并解释说这只是在某些情况下需要。这可能有助于找出语法需要输入的正确顺序。只是一个想法。 – Adam

+0

显然我正在学习这个,因为这是我的家庭作业。我尝试了不同的命令。 –

回答

5

如何我把它保存所有我的查询,而不是仅在过去的一个类型?

SAVE将SQL * Plus缓冲区的内容保存到文件中。缓冲区将被您编写的每条SQL语句所取代,因此您只能得到最后一条命令。保存有一个append命令将附加到该文件。

因此,首先创建你的文件。

save test.sql create 

并在每个SQL脚本之后追加文件。

select * from employees 
/
save test.sql append; 
select * from departments 
/
save test.sql append; 

+0

谢谢!真的有帮助:) –

+0

@PRPGFerret乐于帮助! – Sathya