Hi all,
I was wondering if you could help me I have an update query which hangs when I run it and I am unsure why. Here is the code
UPDATE sdc_destination_data dd SET (dd.actual_destination_code, dd.actual_destination_desc) = (SELECT he.code, he.adDESC FROM (SELECT a.person_code, '54'code, 'SDC'||' '||ty.course_code||' - '||ty.course_description ADdesc from (SELECT ly.person_code, ly.forename, ly.surname, ly.unit_instance_code, ly.rn from (SELECT sd.person_code, p.forename, p.surname, pu.unit_instance_code, row_number () over (partition BY p.person_code ORDER BY p.person_code, decode(uio.fes_user_5, 'FT', 1000, 'HE PLY FT', 1000, 'HE EXE FT', 1000, 'HE PLY PT', 500, 'HE EXE PT', 550, 300) desc, nvl(qa.guided_hours, 0) DESC) rn
FROM sdc_destination_data sd, people_units pu, unit_instance_occurrences uio, people p, uio_qual_aims qa WHERE p.person_code = sd.person_code AND p.person_code = pu.person_code AND sd.YEAR = '08/09' AND pu.unit_type = 'R' AND pu.progress_status IN ( 'A', 'F') AND pu.uio_id = uio.uio_id and uio.uio_id = qa.uio_id(+) and qa.funding_year(+) = 15 and qa.default_qa(+) = 'Y' AND pu.calocc_code = '08/09' AND uio.qual_end_date < To_Date('31/07/2009', 'DD/MM/YYYY') AND (uio.fes_user_5 LIKE '%FT%' or uio.fes_user_5 LIKE '%HE%')) ly WHERE rn = 1 ) a, (SELECT en.person_code, en.forename, en.surname, en.course_code, en.course_description, en.uio_id FROM (SELECT distinct p.person_code, p.forename, p.surname, pu.unit_instance_code course_code, uio.long_description course_description, uio.uio_id, row_number() over ( partition by pu.person_code order by pu.person_code, --decode(nvl(ui.fes_source_finance, '99'), 'HE', 1000, 500) desc, decode(uio.fes_user_5, 'FT', 1000, 'HE PLY FT', 1000, 'HE EXE FT', 1000, 'HE PLY PT', 500, 'HE EXE PT', 550, 300) desc, nvl(qa.guided_hours, 0) desc ) rn FROM people p, people_units pu, unit_instance_occurrences uio, uio_qual_aims qa WHERE p.person_code = pu.person_code AND pu.uio_id = uio.uio_id and uio.uio_id = qa.uio_id(+) and qa.funding_year(+) = 16 and qa.default_qa(+) = 'Y' AND pu.progress_status = 'A' AND uio.fes_user_5 NOT IN ('TUT', 'KSF', 'ADDF') AND pu.unit_type = 'R' AND pu.calocc_code = '09/10' AND NOT EXISTS (SELECT 1 FROM uio_links WHERE pu.uio_id = uio_id_to))en WHERE rn = 1) ty WHERE a.person_code = ty.person_code )he WHERE dd.person_code = he.person_code) WHERE dd.person_code IN ( SELECT a.person_code from (SELECT ly.person_code, ly.forename, ly.surname, ly.unit_instance_code, ly.rn from (SELECT sd.person_code, p.forename, p.surname, pu.unit_instance_code, row_number () over (partition BY p.person_code ORDER BY p.person_code, decode(uio.fes_user_5, 'FT', 1000, 'HE PLY FT', 1000, 'HE EXE FT', 1000, 'HE PLY PT', 500, 'HE EXE PT', 550, 300) desc, nvl(qa.guided_hours, 0) DESC) rn
FROM sdc_destination_data sd, people_units pu, unit_instance_occurrences uio, people p, uio_qual_aims qa WHERE p.person_code = sd.person_code AND p.person_code = pu.person_code AND sd.YEAR = '08/09' AND pu.unit_type = 'R' AND pu.progress_status IN ( 'A', 'F') AND pu.uio_id = uio.uio_id and uio.uio_id = qa.uio_id(+) and qa.default_qa(+) = 'Y' and qa.funding_year(+) = 15 AND pu.calocc_code = '08/09' AND uio.qual_end_date < To_Date('31/07/2009', 'DD/MM/YYYY') AND (uio.fes_user_5 LIKE '%FT%' or uio.fes_user_5 LIKE '%HE%')) ly WHERE rn = 1 ) a, (SELECT en.person_code, en.forename, en.surname, en.course_code, en.course_description, en.uio_id FROM (SELECT distinct p.person_code, p.forename, p.surname, pu.unit_instance_code course_code, uio.long_description course_description, uio.uio_id, row_number() over ( partition by pu.person_code order by pu.person_code, --decode(nvl(ui.fes_source_finance, '99'), 'HE', 1000, 500) desc, decode(uio.fes_user_5, 'FT', 1000, 'HE PLY FT', 1000, 'HE EXE FT', 1000, 'HE PLY PT', 500, 'HE EXE PT', 550, 300) desc, nvl(qa.guided_hours, 0) desc ) rn FROM people p, people_units pu, unit_instance_occurrences uio, uio_qual_aims qa WHERE p.person_code = pu.person_code AND pu.uio_id = uio.uio_id and uio.uio_id = qa.uio_id(+) and qa.funding_year(+) = 16 and qa.default_qa(+) = 'Y' AND pu.progress_status = 'A' AND uio.fes_user_5 NOT IN ('TUT', 'KSF', 'ADDF') AND pu.unit_type = 'R' AND pu.calocc_code = '09/10' AND NOT EXISTS (SELECT 1 FROM uio_links WHERE pu.uio_id = uio_id_to))en WHERE rn = 1) ty WHERE a.person_code = ty.person_code) AND dd.year = '08/09'
If any one can shed some light on thsi I would be very grateful
Many Thanks |