『壹』 sql plus 中數據怎麼輸出
可以導出到excel中,你可以使用一個工具,plsql   developer,很好用的。  
  把EXCEL倒入資料庫,你可以用pb來做,不過首先你要用把excel變成txt文件,具體方法你可以在網上找,很多的。或者borland的導入導出工具,等等,很容易實現!
當然如果你實在不情願用其他軟體導的話
使用SQLPLUS自帶的SPOOL命令也可以完成。
通過sql*plus輸出xls,html兩種格式文件.  
  首先創建兩個腳本:  
  1.main.sql  
  用以設置環境,調用具體功能腳本  
  2.功能腳本-get_tables.sql  
  為實現具體功能之腳本  
  通過這樣兩個腳本可以避免spool中的冗餘信息,參考:  
  如何去除SQLPLUS中SPOOL的冗餘信息  
   
  示例如下:  
  1.main.sql腳本:  
  [oracle@jumper   utl_file]$   more   main.sql  
  set   linesize   200    
  set   term   off   verify   off   feedback   off   pagesize   999    
  set   markup   html   on   entmap   ON   spool   on   preformat   off  
  spool   tables.xls  
  @get_tables.sql  
  spool   off  
  exit  
2.get_tables.sql腳本:  
  [oracle@jumper   utl_file]$   more   get_tables.sql    
  select   owner,table_name,tablespace_name,blocks,last_analyzed  
  from   all_tables   order   by   1,2;  
3.執行並獲得輸出:  
  [oracle@jumper   utl_file]$   sqlplus   "/   as   sysdba"   @main  
   
  SQL*Plus:   Release   9.2.0.4.0   -   Proction   on   Mon   Apr   25   10:30:11   2005  
   
  Copyright   (c)   1982,   2002,   Oracle   Corporation.     All   rights   reserved.  
Connected   to:  
  Oracle9i   Enterprise   Edition   Release   9.2.0.4.0   -   Proction  
  With   the   Partitioning   option  
  JServer   Release   9.2.0.4.0   -   Proction  
   
  Disconnected   from   Oracle9i   Enterprise   Edition   Release   9.2.0.4.0   -   Proction  
  With   the   Partitioning   option  
  JServer   Release   9.2.0.4.0   -   Proction  
  [oracle@jumper   utl_file]$   ls   -l   tables.xls    
  -rw-r--r--         1   oracle       dba                   69539   Apr   25   10:30   tables.xls
『貳』 SQL plus 中數據怎麼樣輸出
/ as {sysdba|sysopr}:使用操作系統用戶驗證,以osdba或osopr一員的身份登錄,如驗證通過,被賦予sysdba或sysopr的許可權
使用格式:sqlplus "/ as sysdba"
/nolog:不執行connect操作,直接進入sqlplus操作界面
-s:silent模式,不顯示sqlplus啟動信息和提示符
<:接受sql腳本從標准輸入重定向
<<:立即文檔
4.4.2 提示符命令
accept variable [number|char|date] [format format] [default default] [prompt text] [hide]:接受輸入變數
例子:accept pwd char format a8 prompt Password: hide
column column [format format] [heading heading]:設定對某個域的顯示格式
如果要同時改變某域的輸出長度和標題,必須使用column命令
見emp的定義,name本為char(20),輸出縮為10位,ty本為 char(1),擴張為6位,以便有足夠的空間顯示中文標題。
SQL>column name format a10 heading 姓名;
SQL>column ty format a6 heading 職位;
SQL>column age format 999999 heading 年齡;
SQL>column upd_ts format a14 heading 更新時間;
SQL>select name,ty,age,upd_ts from emp;
show option:顯示SET的選項
spool [filename|off]:輸出重定向文件
timing [start text|show|stop]:定時器
4.4.3 SET選項
autocommit:自動提交insert、update、delete帶來的記錄改變,預設為off
colsep:域輸出分隔符
define:識別命令中的變數前綴符,預設為on,也就是&,碰到變數前綴符,後面的字元串作為變數處理
如果待更新內容包含&(在URL中很常見),而define非設為off,sqlplus會把&後面緊跟的字元串當成變數,提示輸入,這里必須重新輸入&和那個字元串,才能實現正常更新。將define設為off,就不再進行變數判斷。
SQL>set define off;
SQL>update bbs_forum set url=http://www.xxx.com/bbs/show.php&forum_id=1 where forum_id=1;
echo:顯示start啟動的腳本中的每個sql命令,預設為on
feedback:回顯本次sql命令處理的記錄條數,預設為on
heading:輸出域標題,預設為on
linesize:輸出一行字元個數,預設為80
如果一行輸出超過linesize,會回車到第二行,這樣格式就會混亂。
markup html:html格式輸出,預設為off
通常需要與spool配合,否則html輸出就沒有意義。
numwidth:輸出number類型域長度,預設為10
長number類型的域常常因為輸出長度的問題,引起誤會。
pagesize:輸出每頁行數,預設為24
為了避免分頁,可設定為0。
termout:顯示腳本中的命令的執行結果,預設為on
timing:顯示每條sql命令的耗時,預設為off
trimout:去除標准輸出每行的拖尾空格,預設為off
trimspool:去除重定向(spool)輸出每行的拖尾空格,預設為off
4.4.4 例子
以文本形式下載表數據
oracle缺乏將表中數據輸出至文本文件的工具,因此只能利用sqlplus和unix工具做變通的處理
sqlplus -s dbuser/oracle </dev/null
set colsep |;
set echo off;
set feedback off;
set heading off;
set pagesize 0;
set linesize 1000;
set numwidth 12;
set termout off;
set trimout on; 
set trimspool on;
spool tmp.txt;
select * from emp;
spool off;
exit
EOF
tr -d < tmp.txt >emp.txt 刪除空格,可選
注意:一定要用spool,如果在命令行中直接用>tmp.txt可能會造成數據缺失,至少在Unixware7上如此
假定某域是char(n),如中間出現回車\n,則下載出的這條記錄的格式將會錯亂,不宜採用此方法
『叄』 如何將SQL執行結果輸出到文本文件中
如何將SQL執行結果輸出到文本文件中
這個方法可以,要在sqlplus的環境里執行,
也可以直接在cmd里執行
sqlplus "username/password@tnaname"@abc.sql > result.log
比如
sqlplus "test1/test@orcl"@test.sql > result.log
