Обсуждение: plpgsql and escape
hi all! i'm trying to do this ( converting unix time to human readable time in another table ) create function align_vs() returns opaque as ' declare line_vs vs%ROWTYPE; itime vs.step_time%TYPE; begin itime := to_char( timestamp ''epoch'' + interval ''NEW.step_time seconds'', ''YYYY-MM-DD HH24:MI:SS'' ); update vs set w_id = NEW.w_id, step_id = %NEW.step_id, step_time = itime where w_id = NEW.w_id; return null; end; ' language plpgsql; the double ' around NEW.step_time blocks its interpolation. which is the correct escaping sintax here? TIA Ivan -- There is no such thing as a problem without a gift for you in its hands.
On Monday 21 Oct 2002 3:00 pm, darthxiong@libero.it wrote: > hi all! > i'm trying to do this ( converting unix time to human readable time in > another table ) > > create function align_vs() returns opaque as > ' > declare > line_vs vs%ROWTYPE; > itime vs.step_time%TYPE; > begin > > itime := to_char( timestamp ''epoch'' + interval ''NEW.step_time > seconds'', ''YYYY-MM-DD HH24:MI:SS'' ); update vs set w_id = NEW.w_id, > the double ' around NEW.step_time blocks its interpolation. which is the > correct escaping sintax here? Try (NEW.step_time || '' seconds'') - that should do it. If not, try casting step_time to text first. -- Richard Huxton