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
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