The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE delete_request_contents ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
) ;
PROCEDURE delete_processed ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
) ;
PROCEDURE delete_content_failures ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
);
PROCEDURE delete_email_stats ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
);
PROCEDURE delete_request_history ( p_rowid IN ROWID
, x_return_status OUT NOCOPY VARCHAR2
);
PROCEDURE DELETE_REQUEST_HISTORY(p_request_id IN NUMBER)
IS
BEGIN
DELETE FROM JTF_FM_PROCESSED WHERE REQUEST_ID = p_request_id;
DELETE FROM JTF_FM_REQUEST_CONTENTS WHERE REQUEST_ID = p_request_id;
DELETE FROM JTF_FM_REQUEST_HISTORY WHERE HIST_REQ_ID = p_request_id;
END DELETE_REQUEST_HISTORY;
PROCEDURE delete_request_history_batch ( x_error_buffer OUT NOCOPY VARCHAR2
, x_return_code OUT NOCOPY NUMBER
, p_data_age IN NUMBER
)
IS
CURSOR c_headers IS
SELECT hist_req_id request_id, ROWID, submit_dt_tm last_update_date
FROM jtf_fm_request_history_all
WHERE TRUNC(submit_dt_tm) <= TRUNC(SYSDATE) - p_data_age
ORDER BY hist_req_id ASC;
l_message := 'Starting purging for request ID: '|| c_header_record.request_id ||' (Last Updated On: '|| TO_CHAR(c_header_record.last_update_date, 'DD-MON-RRRR') ||')';
SAVEPOINT before_delete;
delete_processed ( p_request_id => c_header_record.request_id
, x_return_status => l_return_status
);
delete_request_contents ( p_request_id => c_header_record.request_id
, x_return_status => l_return_status
);
delete_content_failures ( p_request_id => c_header_record.request_id
, x_return_status => l_return_status
);
delete_email_stats ( p_request_id => c_header_record.request_id
, x_return_status => l_return_status
);
delete_request_history ( p_rowid => c_header_record.rowid
, x_return_status => l_return_status
);
ROLLBACK TO before_delete;
END delete_request_history_batch;
PROCEDURE delete_request_contents ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
)
IS
l_message VARCHAR2(4000);
DELETE
FROM jtf_fm_request_contents
WHERE request_id = p_request_id ;
END delete_request_contents ;
PROCEDURE delete_processed ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
)
IS
l_count NUMBER DEFAULT 0;
DELETE
FROM jtf_fm_processed
WHERE request_id = p_request_id ;
END delete_processed ;
PROCEDURE delete_content_failures ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
)
IS
l_count NUMBER DEFAULT 0;
DELETE
FROM jtf_fm_content_failures
WHERE request_id = p_request_id ;
END delete_content_failures ;
PROCEDURE delete_email_stats ( p_request_id IN NUMBER
, x_return_status OUT NOCOPY VARCHAR2
)
IS
l_count NUMBER DEFAULT 0;
DELETE
FROM jtf_fm_email_stats
WHERE request_id = p_request_id ;
END delete_email_stats ;
PROCEDURE delete_request_history ( p_rowid IN ROWID
, x_return_status OUT NOCOPY VARCHAR2
)
IS
l_count NUMBER DEFAULT 0;
DELETE
FROM jtf_fm_request_history
WHERE ROWID = p_rowid;
END delete_request_history;
UPDATE jtf_fm_request_history_all
SET purge_flag = 'Y'
WHERE TRUNC(last_update_date) <= TRUNC(SYSDATE) - p_data_age
;
SELECT hist_req_id
FROM jtf_fm_request_history_all
WHERE purge_flag = 'Y'
ORDER BY hist_req_id ASC;
DELETE
FROM jtf_fm_request_contents
WHERE request_id = tab_request_id(i)
;
DELETE
FROM jtf_fm_content_failures
WHERE request_id = tab_request_id(i)
;
DELETE
FROM jtf_fm_email_stats
WHERE request_id = tab_request_id(i)
;
DELETE
FROM jtf_fm_request_history_all
WHERE purge_flag = 'Y';
DELETE
FROM jtf_fm_int_request_header
WHERE TRUNC(last_update_date) <= TRUNC(SYSDATE) - p_data_age
;
l_update_name VARCHAR2(30);
l_update_name := x_argument4;
ad_parallel_updates_pkg.initialize_rowid_range
(
ad_parallel_updates_pkg.ROWID_RANGE
, l_table_owner
, l_table_name
, l_update_name
, x_worker_id
, x_num_workers
, x_batch_size
, 0
);
ad_parallel_updates_pkg.get_rowid_range
(
l_start_rowid
, l_end_rowid
, l_any_rows_to_process
, x_batch_size
, TRUE
);
DELETE /*+ rowid(jfp) */
FROM jtf_fm_processed jtp
WHERE request_id IN ( SELECT /*+ index(jrh, jtf.jtf_fm_request_history_all_nu2) */ hist_req_id
FROM jtf_fm_request_history_all jrh
WHERE purge_flag = 'Y'
)
AND ROWID BETWEEN l_start_rowid AND l_end_rowid
;
ad_parallel_updates_pkg.processed_rowid_range
(
l_rows_processed
, l_end_rowid
);
ad_parallel_updates_pkg.get_rowid_range
(
l_start_rowid
, l_end_rowid
, l_any_rows_to_process
, x_batch_size
, FALSE
);