2012-08-23 27 views
0
select table_name,count(column_name) from all_tab_columns where owner ='HR' 

此查詢PL/SQL程序檢索的結果,但我想用一個PL/SQL 列在一個表中的號碼的相同的計算程序和輸出應該進入一個CSV文件。用於與表名生成的列數在表中成CSV文件

+0

你的問題不清楚或似乎被切斷,你能澄清你的問題嗎? – Taryn

+0

我想使用pl/sql代碼檢索列表中存在的列的數量,並且輸出應該寫入文件(csv) – user1620464

+2

以「CREATE OR REPLACE PROCEDURE」開始,將SELECT放入適當的位置,然後查看在UTL_FILE包的文檔中。 –

回答

0

有位PL/SQL創建CSV版本1(不使用PL/SQL,但仍然會創建一個CSV文件)的幫助從here

set colsep ,  
set pagesize 0 
set trimspool on 
set headsep off 
set linesize 100 
set numw 10  

spool myfile.csv 

select table_name,count(column_name) as cnt 
from all_tab_columns where owner ='HR' 
group by table_name); 

2版

set serveroutput on 
begin 
    for c in (select table_name,count(column_name) as cnt 
      from all_tab_columns where owner ='HR' group by table_name) 
    loop 
    dbms_output.put_line(c.table_name||';'||c.cnt); 
    end loop; 
end; 
/

版本3將如果你想要文件服務器端的話,可以使用utl_file包,但我現在假設你在SQLplus或SQLdeveloper中運行它。

+0

嘿,謝謝U..ITS非常簡單....但是還有很長的想法.. !! GOOD 而且我使用UTL_FILE.TQ修復了輸出! HOL – user1620464

+0

,但是如果列被添加到表中並且沒有被分析,我會遇到任何問題嗎? – user1620464

+0

你對未分析的含義是什麼? – hol