Previous Topic

Next Topic

Example: For-EndFor

The following database procedure, avgsal_by_dept, returns rows containing the department name, average salary in the department and count of employees in the department. Any unexpected error from the select statement terminates the loop:

create procedure avgsal_by_dept
       result row (char(15), float, int) as
declare
       deptname char(15);
       avgsal   float;
       empcount int;
       err      int;
begin
       err = 0;
       for select d.dept, avg(e.salary), count(*) into :deptname, :avgsal, :empcount
       from department d, employee e
       where e.deptid = d.deptid
       group by d.deptid do
       if iierrornumber > 0 then
       err = 1;
       endloop;
       endif;
       return row(:deptname, :avgsal, :empcount);
       endfor;
return :err;
end"


© 2007 Ingres Corporation. All rights reserved.