On Sunday 13 April 2008 1:07 pm, Bob Pawley wrote:
> I'm getting a little frustrated with this problem.
>
> Can anyone tell me what is wrong with the following code.
>
> I have tested the portions separately and they all work.
>
> When I try it as a whole I get the message "control reached end of trigger
> procedure without RETURN."
>
> Any help greatly appreciated.
>
> Bob
>
> Declare
> pumpnumber integer;
>
> Begin
>
> Select count(*) Into pumpnumber From p_id.devices, p_id.processes
> Where device_number = '11'
> and p_id.devices.fluid_id = p_id.processes.fluid_id
> and p_id.processes.ip_op_equipment = 'op';
>
> If pumpnumber = 1 then
> Update p_id.devices
> Set number = '#1'
> From p_id.processes
> Where p_id.devices.number is null
> and p_id.devices.device_number = '11'
> and p_id.devices.fluid_id = p_id.processes.fluid_id
> and p_id.processes.ip_op_equipment = 'op' ;
>
> Else If pumpnumber = 2 Then
Should be elsif or elseif
> Update p_id.devices
> Set number = '#2'
> From p_id.processes
> Where p_id.devices.number is null
> and p_id.devices.device_number = '11'
> and p_id.devices.fluid_id = p_id.processes.fluid_id
> and p_id.processes.ip_op_equipment = 'op' ;
>
> End If;
> RETURN NULL;
> End If;
Eliminate this End if .
> END;
>
> I have tried 'Return New' and 'Return Result' without luck, and if I leave
> off either of the two 'End If ' statements the procedure returns an error.
>
> B
--
Adrian Klaver
aklaver@comcast.net