The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT /*+ INDEX_FFS(AS_TERRITORY_ACCESSES AS_TERRITORY_ACCESSES_U1) parallel_index(AS_TERRITORY_ACCESSES,AS_TERRITORY_ACCESSES_U1,5) parallel(AS_ACCESSES_U1,5) */
rowid,access_id
from AS_TERRITORY_ACCESSES
where not exists
(select 1
from AS_ACCESSES_ALL_ALL acc
where AS_TERRITORY_ACCESSES.access_id = acc.access_id)
union
SELECT /*+ INDEX_FFS(AS_TERRITORY_ACCESSES AS_TERRITORY_ACCESSES_U1)
parallel_index(AS_TERRITORY_ACCESSES,AS_TERRITORY_ACCESSES_U1,5)
parallel(AS_ACCESSES_U1,5) */
rowid,access_id
from AS_TERRITORY_ACCESSES
where not exists
(select 1
from JTF_TERR_ALL terr
where AS_TERRITORY_ACCESSES.TERRITORY_ID = terr.TERR_ID
and sysdate between terr.start_date_active and
terr.end_date_active) ;
AS_GAR.LOG(G_ENTITY || AS_GAR.G_PROCESS || l_prg_name || 'Records to be deleted: ' ||
l_terracc_rec.access_id.first || '-'
|| l_terracc_rec.access_id.last);
DELETE FROM AS_TERRITORY_ACCESSES
WHERE rowid = l_terracc_rec.tbl_rowid(i);
AS_GAR.LOG(G_ENTITY || AS_GAR.G_PROCESS || l_prg_name|| 'Records deleted: ' || l_first ||'-'|| l_last);
select /*+ INDEX_FFS(ABC AS_ACCESSES_U2)*/ count(*) into l_count
from AS_ACCESSES_ALL_ALL ABC
where delete_flag='Y';
stmt := 'INSERT /*+ append parallel(i) */ INTO as_tap_purge_working i
(ROW_ID,
WORKER_ID,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_LOGIN)
SELECT /*+ PARALLEL_INDEX(AS_ACCESSES_ALL_ALL,5) INDEX_FFS(AS_ACCESSES_ALL_ALL AS_ACCESSES_U2)*/
ROWID,NTILE('||l_ActualWorker||') OVER(ORDER BY ROWID) as workerid, sysdate,
:1,
sysdate,
:2,
:3
FROM AS_ACCESSES_ALL_ALL where delete_flag = ''Y''';
PROCEDURE Delete_Access_Records (
ERRBUF OUT NOCOPY VARCHAR2,
RETCODE OUT NOCOPY VARCHAR2,
p_debug_mode IN VARCHAR2,
p_trace_mode IN VARCHAR2,
p_worker_id IN NUMBER )
IS
CURSOR c_get_del_access (c_worker_id number) IS
select row_id
from as_tap_purge_working
where worker_id = c_worker_id;
l_pkg_name VARCHAR2(100) := 'DELETE_ACCESS_RECORDS';
AS_GAR.LOG(G_ENTITY || AS_GAR.G_PROCESS || l_pkg_name || '---DELETE FROM AS_ACCESSES_ALL_ALL::START');
'Records to be deleted: ' ||
l_acc_rec.access_id.first || '-'
|| l_acc_rec.access_id.last);
DELETE FROM AS_ACCESSES_ALL_ALL
WHERE rowid = l_acc_rec.access_id(i)
RETURNING access_id BULK COLLECT INTO l_acc_rec1.access_id;
DELETE /*+ index(TERRACC AS_TERRITORY_ACCESSES_u1) */
FROM AS_TERRITORY_ACCESSES TERRACC
WHERE TERRACC.access_id = l_acc_rec1.access_id(j);
'Records deleted: ' || l_first ||
'-'|| l_last);
END Delete_Access_Records;