經常會用sql* loader來倒資料,因此,編寫各種控制檔案就是個日常工作了,呵呵,這裡提供了乙個方法,可以根據表結構自動生成控制檔案:
基於指定的表結構格式化sql* loader的控制檔案
set feedback off
set verify off
drop table select_text;
create table select_text (
text varchar2(2000)
);accept 1 prompt "enter table name:"
accept 2 prompt "enter table owner:"
declare
cursor cur is
select owner
, table_name
, column_name
, decode(data_type,
'number','decimal external',
'date' ,'date (11)'
,'char ('||data_length||')') data_type
, column_id
from dba_tab_columns
where table_name = upper('&&1')
and owner = upper('&&2')
order by column_id;
l_curr_line varchar2(2000);
l_owner sys.dba_tables.owner%type;
l_table_name sys.dba_tables.table_name%type;
begin
l_curr_line := '
load data
replace
into table ';
select owner, table_name
into l_owner, l_table_name
from dba_tables
where table_name = upper('&&1')
and owner = upper('&&2');
l_curr_line := l_curr_line||l_owner||'.'||l_table_name||'
fields terminated by '||''''||','||''''||'
optionally enclosed by '||''''||'"'||''''||'
trailing nullcols
(';for rec in cur loop
if rec.column_id = 1 then
l_curr_line := l_curr_line||'
'||rpad(rec.column_name,35)||rec.data_type;
else
l_curr_line := l_curr_line||'
, '||rpad(rec.column_name,35)||rec.data_type;
end if;
end loop;
l_curr_line := l_curr_line||')';
insert into select_text values(l_curr_line);
commit;
end;
/set pages 900
set lines 80
col text format a80
set head off
set term off
spool select.tmp
select * from select_text;
spool off
set term on
ed select.tmp
生成的檔案可以根據需要稍作修改,呵呵
SQLLoader工具的使用
實習十 sqlloader工具的使用 實驗目的 學習通過sqlloader工具把外部資料匯入到oracle資料庫中。一 sql loader涉及的檔案 控制檔案control file 匯入資料規則 日誌檔案log file 匯入資料記錄 壞檔案bad file 插入記錄出錯,如違反唯一約束,非空約...
Sql Loader的簡單使用
之前總結的關於sql loader的用法,今天又用到,又翻出來看看 sql loader 可將外部檔案中的資料載入到 oracle db 的表中。它具有乙個功能強大的資料分析引擎,因此對資料檔案中資料的格式沒有什麼限制。sql loader 使用以下檔案 後面三個可以不選 操作步驟如下 1 建立資料...
文件的自動生成
結構圖顯示時,可看到兩類格式的標題,即內建標題樣式 標題1 至標題9 或大綱級別段落格式 級別 1 到級別 9 使用 文件結構圖不但可以方便地了解文件的層次結構,還可以快速定位 長文件,大大加快閱讀的時間。文件結構圖將在乙個單獨的窗格中顯示文件標題。可通過文件結 構圖在整個文件中快速漫遊並追蹤特定位...