2017-03-27 7 views
1

을 읽어PL/SQL은 두 개의 파일에 가입하고 내가이 파일은 '무작위'(어쨌든 나는 패턴을 찾을 수 있습니다)라는 이름 때문에 예를 들어 내 외부 테이블 에서 읽어 하나 하나에 여러 파일을 가입해야 그들에게

ADG_LOZX723536.txt 
ADG_LOZX142596.txt 

외부 테이블을 읽는 작업을 실행하는 pkg가 있는데 이것은 예약 된 작업입니다.

PKG와 다른 것들을 실행할 수 있도록 다르게 명명 된 이들 파일을 가지고 PL/SQL을 통해 어떻게 가입 할 수 있습니까?

나는 bash 스크립트를 호출하는 단일 작업을 만들려고 생각했다. 이 스크립트는 외부 테이블에서 읽을 수있는 하나의 파일로 (grep them regex) 파일을 조인한다. 그런 다음 sqlplus를 통해 pkg를 실행하십시오.

어쨌든 PL/SQL을 사용하는 또 다른 방법이 있습니까?

감사합니다.

+0

파일의 내용은 무엇입니까? –

+0

UTL_FILE을 확인하십시오. – Miguel

+0

당신은'echo exit | sqlplus 사용자/암호 @ connect @<(cat filenames)'? –

답변

0

Oracle 11g에서 외부 테이블에 대한 사전 처리 지원이 추가되었습니다. 이렇게하면 OS (쉘) 스크립트를 테이블과 연결할 수 있습니다. 이 스크립트는 테이블에 대한 쿼리를 실행할 때마다 실행됩니다. Find out more.

상황에 따라 다양한 파일을 식별하고 테이블의 단일 소스 파일로 이동시키는 쉘 스크립트를 작성할 수 있습니다. 쉘 스크립트를 호출하는 것보다 낫습니다.

저의 PL/SQL Purist는 전적으로 데이터베이스 내 접근 방식을 권장하고 싶지만 솔직히 말해서 쉘 스크립트는 저장 프로 시저보다 OS 파일 조작에 더 적합합니다.

+0

거야 그것을 시도하고 알려, –

+0

KUP-04095 : 전 처리기 명령에 "exec 중에 오류가 발생했습니다 : errno is 2", 스크립트가 755 (oracle : oinstall)이고, echo "test"> test.txt를 실행합니다. 그러나 나는이 아이디어를 얻고 있습니다. ? –

+0

아무것도 될 수 있습니다. OS에서'oracle' 사용자로 실행할 때 쉘 스크립트가 실행됩니까? '$ PATH' 설정이란 무엇입니까? – APC