日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQL/PLUS學(xué)習(xí)筆記之ECHO和SPOOL的使用

上次我們介紹了:SQL/PLUS學(xué)習(xí)筆記之編輯緩沖區(qū)中的當(dāng)前行命令,本文我們介紹一下SQL/PLUS學(xué)習(xí)筆記之ECHOSPOOL的使用,接下來就讓我們一起來了解一下這部分內(nèi)容。

ECHO參數(shù)的設(shè)置:

SQL> show echo --顯示echo的狀態(tài)

echo OFF --此時echo是OFF狀態(tài)

SQL> set echo on --設(shè)置其為開狀態(tài)

SQL> show echo

echo ON --已經(jīng)打開

此時運行腳本的話,腳本中的每條SQL語句或PL/SQL塊將會顯示在終端,如下運行test腳本:

 
 
 
  1. SQL> @test --其下面均為終端顯示的內(nèi)容  
  2. SQL> select *from t1 where rownum<2;  
  3.  
  4. ID NAME  
  5. ---------- --------------------  
  6. 1 Testing  
  7.  
  8. SQL>   
  9. SQL> truncate table t1;  
  10.  
  11. Table truncated.  
  12.  
  13. SQL>   
  14. SQL> begin  
  15. 2   
  16. 3 for i in 1 .. 1000 loop  
  17. 4   
  18. 5 insert into t1 values(i,'Testing');  
  19. 6 end loop;  
  20. 7 commit;  
  21. 8   
  22. 9 end;  
  23. 10 /  
  24.  
  25. PL/SQL procedure successfully completed.  
  26.  
  27. SQL>   
  28. SQL> select count(*)from t1;  
  29.  
  30. COUNT(*)  
  31. ----------  
  32. 1000 

使用SPOOL保存查詢的結(jié)果集

 
 
 
  1. SQL> spool outputfile --默認在當(dāng)前路徑下生成outputfile.lst文件  
  2. SQL> select * from t1 where rownum<3;  
  3.  
  4. ID NAME  
  5. ---------- --------------------  
  6. 1 Testing  
  7. 2 Testing  
  8.  
  9. SQL> spool off --終止,此時這些內(nèi)容全部被寫入文件outputfile中  
  10.  
  11. [oracle@localhost ~]$ cat outputfile.lst --查看文件內(nèi)容如下:  
  12. SQL> select * from t1 where rownum<3;  
  13.  
  14. ID NAME   
  15. ---------- --------------------   
  16. 1 Testing   
  17. 2 Testing   
  18.  
  19. SQL> spool off 

這個功能可以幫助生成一些動態(tài)的批量處理的腳本,比方說刪除用戶emcd下的滿足某些條件的表:

 
 
 
  1. SQL> show user  
  2. USER is "EMCD"  
  3. SQL> spool droptable.sql  
  4. SQL> select 'drop table'||objec_name from user_objects where object_type='TABLE';  
  5. select 'drop table'||objec_name from user_objects where object_type='TABLE' 
  6. *  
  7. ERROR at line 1:  
  8. ORA-00904: "OBJEC_NAME": invalid identifier  
  9.  
  10. SQL> l  
  11. 1* select 'drop table'||objec_name from user_objects where object_type='TABLE' 
  12. SQL> c/objec_/object_  
  13. 1* select 'drop table'||object_name from user_objects where object_type='TABLE' 
  14. SQL> /  
  15.  
  16. 'DROPTABLE'||OBJECT_NAME  
  17. --------------------------------------------------------------------------------  
  18. drop tableT1  
  19. drop tableBIN$qokoVJ6g4HHgQAB/AQAzMg==$0  
  20. drop tableTOAD_PLAN_TABLE  
  21.  
  22. SQL> l  
  23. 1* select 'drop table'||object_name from user_objects where object_type='TABLE' 
  24. SQL> c/'drop table'/'drop table '  
  25. 1* select 'drop table '||object_name from user_objects where object_type='TABLE' 
  26. SQL> /  
  27.  
  28. 'DROPTABLE'||OBJECT_NAME  
  29. --------------------------------------------------------------------------------  
  30. drop table T1  
  31. drop table BIN$qokoVJ6g4HHgQAB/AQAzMg==$0  
  32. drop table TOAD_PLAN_TABLE  
  33.  
  34. SQL> spool off --結(jié)束輸入  
  35. SQL> !  
  36.  
  37. [oracle@localhost ~]$ cat droptable.sql --查看輸出內(nèi)容,如下所示:  
  38.  
  39. SQL> select 'drop table'||objec_name from user_objects where object_type='TABLE';  
  40. select 'drop table'||objec_name from user_objects where object_type='TABLE' 
  41. *  
  42. ERROR at line 1:  
  43. ORA-00904: "OBJEC_NAME": invalid identifier   
  44.  
  45.  
  46. SQL> l  
  47. 1* select 'drop table'||objec_name from user_objects where object_type='TABLE' 
  48. SQL> c/objec_/object_  
  49. 1* select 'drop table'||object_name from user_objects where object_type='TABLE' 
  50. SQL> /  
  51.  
  52. 'DROPTABLE'||OBJECT_NAME   
  53. --------------------------------------------------------------------------------  
  54. drop tableT1   
  55. drop tableBIN$qokoVJ6g4HHgQAB/AQAzMg==$0   
  56. drop tableTOAD_PLAN_TABLE   
  57.  
  58. SQL> l  
  59. 1* select 'drop table'||object_name from user_objects where object_type='TABLE' 
  60. SQL> c/'drop table'/'drop table '  
  61. 1* select 'drop table '||object_name from user_objects where object_type='TABLE' 
  62. SQL> /  
  63.  
  64. 'DROPTABLE'||OBJECT_NAME   
  65. --------------------------------------------------------------------------------  
  66. drop table T1   
  67. drop table BIN$qokoVJ6g4HHgQAB/AQAzMg==$0   
  68. drop table TOAD_PLAN_TABLE   
  69.  
  70. SQL> spool off 

這樣動態(tài)刪除某些表的SQL語句就生成了。

關(guān)于SQL/PLUS學(xué)習(xí)筆記之ECHO和SPOOL的使用的知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!


網(wǎng)頁題目:SQL/PLUS學(xué)習(xí)筆記之ECHO和SPOOL的使用
分享鏈接:http://www.dlmjj.cn/article/dpssjde.html