create or replace PROCEDURE get_cols1 (p_table_name VARCHAR2, p_file_name VARCHAR2, p_delimiter VARCHAR2)
IS
TYPE vl_t_columnlist IS VARRAY (100) OF VARCHAR2 (50); vl_c_
vl_t_columnlist;
vl_f_output_file UTL_FILE.file_type;
vl_c_proc_name VARCHAR2 (100) := 'get_cols';
vl_d_current_dtm DATE := gnvgen.systemdate ();
vl_c_statustext VARCHAR2 (1000);
vl_n_status NUMBER:=700;
v_dd varchar2(1000);
v_dd1 varchar2(1000);
v_name varchar2(1000);
v_name1 varchar2(1000):='CREATED_DTM';
BEGIN
vl_n_status:=700;
vl_f_output_file := UTL_FILE.fopen ('ANTLUTL', p_file_name , 'a');
UTL_FILE.put_line (vl_f_output_file, '(');
vl_n_status:=701;
SELECT column_name
BULK COLLECT INTO vl_c_listcol
FROM cols
WHERE table_name = p_table_name
ORDER BY column_id;
vl_n_status:=702;
FOR i IN vl_c_listcol.FIRST .. vl_c_listcol.LAST
LOOP
vl_n_status:=703;
IF i = vl_c_listcol.COUNT THEN
vl_n_status:=704;
dbms_output.put_line(v_dd1);
UTL_FILE.put_line (vl_f_output_file, vl_c_listcol(i));
vl_n_status:=705;
ELSE
v_dd:=vl_c_listcol(i);
v_name:=v_name1' "''to_date('':'v_name1',''''DD-MON-YYYY HH24:MI:SS'''')''"';
v_dd1:=(replace(v_dd,'CREATED_DTM',v_name));
vl_n_status:=706;
UTL_FILE.put_line (vl_f_output_file, v_dd1 p_delimiter);
vl_n_status:=707;
END IF;
END LOOP;
vl_n_status:=708;
UTL_FILE.put_line (vl_f_output_file, ')');
UTL_FILE.fclose (vl_f_output_file);
vl_n_status:=709;
EXCEPTION
WHEN OTHERS THEN
vl_c_statustext :=(vl_c_proc_name ' - ' vl_n_status ' - ' SQLERRM);
ist.arch_reload.error_log (vl_c_statustext, vl_d_current_dtm);
END get_cols1;
No comments:
Post a Comment