Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Update with crosswalk table
You have to specify which rows you want to update :
UPDATE
PS_PAYROLL_PIF_SF_at_HRTR SET PAY_RATE_HR_SAL_SF =
(SELECT
A.HOURLY_RT
FROM PS_EMPLOYEES_at_HRUT A, PS_XRF_EMPLID_SF_at_HRUT B, PS_PAYROLL_PIF_SF_at_HRTR Z
WHERE (B.EMPLID = Z.EMPLID)
AND(B.EMPLID_SF = A.EMPLID)
AND(A.HOURLY_RT is NOT NULL)
)
WHERE 1 IN (
SELECT 1
FROM PS_EMPLOYEES_at_HRUT A, PS_XRF_EMPLID_SF_at_HRUT B, PS_PAYROLL_PIF_SF_at_HRTR Z
WHERE (B.EMPLID = Z.EMPLID)
AND(B.EMPLID_SF = A.EMPLID)
AND(A.HOURLY_RT is NOT NULL)
)
;
Paul_Lei_at_ci.sf.ca.us a écrit :
> Hi,
>
> I got stuck with an SQL Statment that maybe really obverious. Here it go:
>
> ********************* A *********************************** UPDATE
> PS_PAYROLL_PIF_SF_at_HRTR SET PAY_RATE_HR_SAL_SF =
>
> ********************* B *********************************** (SELECT
> A.HOURLY_RT
> FROM PS_EMPLOYEES_at_HRUT A, PS_XRF_EMPLID_SF_at_HRUT B, PS_PAYROLL_PIF_SF_at_HRTR Z
> WHERE (B.EMPLID = Z.EMPLID)
> AND
> (B.EMPLID_SF = A.EMPLID)
> AND
> (A.HOURLY_RT is NOT NULL));
> **********************************************************
>
> It would run on group B returning 104 row, which is the correct result. But if
> I add the line under group A it will bomb with 'multiple row return' error.
> Thanks
> Paul Lei
>
> -----------== Posted via Deja News, The Discussion Network ==----------
> http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own
Received on Tue Apr 27 1999 - 14:23:50 CDT