2012-01-23 44 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