CREATE TABLE LOG_FILES (
LOG_DTM VARCHAR(18),
LOG_TXT VARCHAR(300)
)
ORGANIZATION EXTERNAL(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY LOG_DIR
ACCESS PARAMETERS(
RECORDS DELIMITED BY NEWLINE
FIELDS(
LOG_DTM position(1:18),
LOG_TXT position(19:300)
)
)
LOCATION('logadm'))
)
REJECT LIMIT UNLIMITED
/
LOG_DIR là một thư mục oracle trỏ đến /u/logs/
Oracle bảng bên ngoài - Xác định tên tập tin năng động
Vấn đề mặc dù là nội dung của /u/logs/
trông như thế này
logadm_12012012.log
logadm_13012012.log
logadm_14012012.log
logadm_15012012.log
Có cách nào tôi có thể chỉ định vị trí của tệp một cách động? tức là mỗi khi tôi chạy Select * from LOG_FILES
, nó sẽ sử dụng tệp nhật ký trong ngày. (ví dụ: log_adm_DDMMYYYYY).
Tôi biết tôi có thể sử dụng alter table log_files location ('logadm_15012012.log')
nhưng tôi không muốn phải đưa ra lệnh thay đổi.
Bất kỳ khả năng nào khác?
Cảm ơn
Cảm ơn tôi đã cập nhật một trong các thủ tục được lưu trữ (sử dụng bảng) để cập nhật tên tệp vì nó cũng chạy mỗi ngày. – ziggy