On 5/16/15 7:25 AM, Bryan Pendleton wrote:
3, when the select in an update statement, can't get the warning 01003.
ij(CONNECTION1)> UPDATE APP.EMP T1 SET SALARY = ( SELECT AVG ( T2 . SALARY ) FRO M APP.EMP T2 ) WHERE WORKDEPT = 'D21' AND SALARY < ( SELECT AVG ( T3 . SALARY )
FROM APP.EMP T3 );
7 rows inserted/updated/deleted

The lack of the warning seems incorrect to me. But I'm not sure if this
behavior is governed by the SQL Standards or not.

thanks,

bryan



Nulls are ignored when computing aggregates, but they should cause the statement to raise a warning, as specified in the 2011 SQL Standard, part 2, section 10.9 (aggregate function), General Rule 6a. I don't see anything in the Standard which absolves the UPDATE statement of its responsibility to report a warning encountered during the processing of an aggregate. So, I agree. This looks like a bug to me.

Please feel free to log a bug.

Thanks,
-Rick

Reply via email to