为参数POSTGRESQL的不同值在循环中调用存储过程

为参数POSTGRESQL的不同值在循环中调用存储过程,postgresql,stored-procedures,Postgresql,Stored Procedures,我有一个接受单个varchar参数的存储过程,我想为表中的每个不同id调用它 CREATE OR REPLACE FUNCTION updateData(i varchar(12)) RETURNS VOID AS $$ BEGIN update employee set employee_number = nextval('d_employeeNumber_seq') where employee.age > 25 and employee.deptId = i;

我有一个接受单个varchar参数的存储过程,我想为表中的每个不同id调用它

CREATE OR REPLACE FUNCTION updateData(i varchar(12)) RETURNS VOID AS $$
    BEGIN
      update employee set employee_number = nextval('d_employeeNumber_seq') where employee.age > 25 and employee.deptId = i;
     ALTER SEQUENCE d_employeeNumber_seq RESTART WITH 1;   
    END;
    $$ LANGUAGE plpgsql;
现在我想为每个部门调用这个updateData


类似于select DISTICT deptId from employee中的select updateData[这不是正确的语法,但我想使用这种类型的东西]

您需要一个子查询并传递所需的参数:

select updateData(deptID)
from ( select distinct deptId  from employee) a

谢谢,这很直截了当。