안녕하십니까?
몇가지 질문을 하려고 하는데 여러군데 찾아보았는데 잘 되지 않아서 이렇게 질문올립니다.
UTL_FILE 패키지를 이용해서 text 파일을 쓰려고 하는데
프로시져 생성에서 에러가 납니다. 밑에 보시면
1)4번째 줄에서 PACK1.R_TYPE 식별자가 정의 되어야 합니다 라고 나오는데,
도움좀 부탁드립니다.
2) 두번째 문에서 select * bulk collect into pack1.r from emp;
이부분은 ORA-03001: 현재에는 구현되어 있지 않은 기능입니다. 라고 나오는데 도움부탁드립니다
SQL> create or replace procedure write_file
2 (p_dir in varchar2,
3 p_filename in varchar2,
4 p_r in pack1.r_type)
5 is
6 v_file utl_file.file_type;
7 begin
8
9 v_file := utl_file.fopen (p_dir, p_filename, 'w');
10
11 for i in p_r.first .. p_r.last loop
12 utl_file.put_line (v_file, p_r(i).empno||' '||p_r(i).ename||' '||p_r(i).job||' '||p_r(i).mgr
13 ||' '||p_r(i).hiredate||' '||p_r(i).sal||' '||p_r(i).comm||' '||p_r(i).deptno);
14 utl_file.new_line (v_file);
15 end loop;
16
17 utl_file.fclose (v_file);
18
19 end;
20 /
SQL> begin
2 select * bulk collect into pack1.r from emp where empno in (select mgr from emp);
3 write_file('PUP_DIR', 'exists.txt', pack1.r);
4
5 select * bulk collect into pack1.r from emp;
6 write_file('PUP_DIR', 'emp_all.txt', pack1.r);
7 end;
8 /
PL/SQL procedure successfully completed.