oracle spool命令匯出slq語句

2021-08-31 08:25:12 字數 1499 閱讀 5431

我在專案中遇到導資料的工作蠻多的,有時候需要把資料備份成sql形式,spool這個命令很好,介紹如下: 

spool c:\table.sql; 

select 'insert into changetable values('|| id||',',changedate||',',areaid||',',w

orkunit||',',dept||',',post||',',address||',',zip||',',note||',',city||',',provi

nce||',',country||',',status||',',lawpeopleid||',',reason||',',feedback||');' fr

om change where lawpeopleid not in (select id from lawpeople t );

spool off;

從這個方案中引申學到兩條:spool命令和使用select語句批量拼裝sql語句

1. spool命令

1 oracle的spool命令可以用來將資料export出來到文字檔案。oracle的import/export命令用於備份和恢復比較有效,但對於一些臨時資料量的匯出,export不好用,甚至不可用。在這裡,就是spool的發揮之地了。

2spool一般使用格式為spool [filepath]filename;       其他sql語句;spool off;

要輸出的內容都在spool語句中包含;

3 spool還有些其他控制命令:

set pagesize 0               --設定頁面大小, 0表示無限制,如果設定為10,則10行資料後出現一空行

set num 18                  --設定數字的長度,如果不夠大,則用科學記數法顯示

set heading off             --設定不要題頭,則不出現select的field list

set feedback off           --設定不需要返回資訊, 比如" 100 rows selected「

set term off                 --

set trimspool on           --trim

4 如果在sqlplus中直接使用sql語句,則匯出的資料檔案中會包含spool語句中使用的sql語句,如果不想讓生成這些可把要使用的sql語句存在乙個檔案中再在sqlplus中執行此檔案即可。 

5、使用select語句批量拼裝sql語句

仿照select 'insert into table_name values('''||field_1||''','''||field_2||''');'from table_name where field_n=some_conditon;可聯想批量生成其他sql語句,例如drop、update、delete語句。其中||為連線符號,三個單引號最後生成乙個單引號。

Oracle spool 用法小結

關於spool spool是sqlplus的命令,不是sql語法裡面的東西。對於spool資料的sql,最好要自己定義格式,以方便程式直接匯入,sql語句如 select taskindex commonindex tasktype to number to char sysdate,yyyymmd...

Oracle spool 用法小結

關於spool spool是sqlplus的命令,不是sql語法裡面的東西。對於spool資料的sql,最好要自己定義格式,以方便程式直接匯入,sql語句如 select taskindex commonindex tasktype to number to char sysdate,yyyymmd...

Oracle spool 用法小結

匯出結果到文字 spool 例如 spool d spool flatquery.txt 這樣,sql plus將把所有的輸出以及在螢幕上的命令等都指定給該檔案。執行查詢輸出。此時,系統並沒有把結果儲存到檔案中,而是儲存到緩衝區中。查詢結束後,關閉檔案即可。命令格式為 spool off。1.對於s...