偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

SQL/PLUS學(xué)習(xí)筆記之ECHO和SPOOL的使用

數(shù)據(jù)庫(kù) Oracle
如果想在終端將每執(zhí)行的一條SQL語(yǔ)句都打印出來(lái)需要設(shè)置SQL/PLUS的ECHO參數(shù),那么ECHO參數(shù)該如何設(shè)置呢?本文我們就介紹這部分內(nèi)容,希望能夠?qū)δ兴鶐椭?/div>

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

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

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

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

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

SQL> show echo

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

此時(shí)運(yùn)行腳本的話,腳本中的每條SQL語(yǔ)句或PL/SQL塊將會(huì)顯示在終端,如下運(yùn)行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 --默認(rèn)在當(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 --終止,此時(shí)這些內(nèi)容全部被寫(xiě)入文件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 

這個(gè)功能可以幫助生成一些動(dòng)態(tài)的批量處理的腳本,比方說(shuō)刪除用戶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 

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

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

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫(kù)遠(yuǎn)程查詢并批量導(dǎo)入數(shù)據(jù)
  2. 存儲(chǔ)過(guò)程:sp_MSforeachtable/sp_MSforeachdb
  3. SQL Server數(shù)據(jù)庫(kù)獲取所有表和數(shù)據(jù)的批量操作
  4. 關(guān)于使用數(shù)據(jù)庫(kù)登錄名和數(shù)據(jù)庫(kù)用戶名的一些心得
  5. SQL Server在存儲(chǔ)過(guò)程中編寫(xiě)事務(wù)處理代碼的三種方法

 

責(zé)任編輯:趙鵬 來(lái)源: CSDN博客
相關(guān)推薦

2011-08-16 09:48:27

SQLPLUS學(xué)習(xí)筆記SQL Buffer

2011-08-16 10:09:30

SQLPLUS學(xué)習(xí)筆記SQL的自動(dòng)提交功能

2011-08-16 10:29:10

SQLPLUS學(xué)習(xí)筆記編輯緩沖區(qū)中的當(dāng)前行命

2011-08-29 11:38:18

SQL Server 聯(lián)合結(jié)果集union

2009-11-05 17:53:59

Oracle導(dǎo)出SQL

2010-09-02 15:42:37

echo命令

2011-08-19 15:48:13

SQL Server 結(jié)果集Sets使用技巧

2010-09-02 15:45:18

PHP函數(shù)echo

2011-08-22 11:23:41

SQL Server 數(shù)據(jù)修改

2010-05-21 11:07:36

2011-08-29 13:10:59

SQL Server 給新加字段賦值

2011-08-30 16:26:34

Hadoop

2011-03-08 16:30:24

Proftpd

2011-03-08 16:30:40

Proftpd

2011-08-16 15:35:50

MySQLSELECT語(yǔ)句FROM子句

2011-08-16 16:10:12

MySQLORDER BY子句GROUP BY子句

2021-12-20 20:30:48

鴻蒙HarmonyOS應(yīng)用

2011-08-19 15:13:36

SQL Server MDX查詢

2009-08-26 10:48:44

C# SQL命令

2009-09-17 16:20:43

Linq to sql
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)