On Thu, Feb 18, 2010 at 2:53 PM, Richard Huxton <d...@archonet.com> wrote:

> On 17/02/10 15:18, Amitabh Kant wrote:
>
>>
>> CREATE OR REPLACE FUNCTION update_data() RETURNS TRIGGER AS $update_data$
>> BEGIN
>>     IF NEW.t1f4>  t2.t2f4
>>         UPDATE t2 set t2f2=NEW.t1f2, t2f3=NEW.t1f3, t2f4=NEW.t1f4 where
>> t2f1=NEW.d1;
>>         RETURN NEW;
>>     END IF;
>> END;
>> $update_data$ LANGUAGE plpgsql;
>>
>
>  I would like to compare the date present in the t2f4 with the new data
>> being
>> updated through the trigger.  Using the if line as listed above returns an
>> error.
>>
>
> You can always do something like:
>  SELECT t2.t2f4 INTO my_variable FROM t2 WHERE ...
>  IF NEW.t1f4 > my_variable
>
> However, for this case you can just do an update with an extended where
> clause:
>  UPDATE t2 ... WHERE t2f1=NEW.d1 AND NEW.t1f4 > t2.t2f4
>
> No need for the IF.
>
> --
>  Richard Huxton
>  Archonet Ltd
>


Thanks Richard.

With regards

Amitabh Kant

Reply via email to