--- Jaime Casanova <__> wrote: > hi all, > > Well i rethink my design 'cause the other was too slow. but all > solutions > involves new problems... now my problem is with a function of this > type: > > > CREATE OR REPLACE FUNCTION > "public"."rec_f_consultarplanificacionrubros" > (smallint, smallint, char(9), smallint, smallint, smallint, char(2)) > RETURNS > SETOF "public"."rec_td_rubrosplanificados" AS ' > select rub_codigo, cpa_valor, cpa_fechavencimiento > from rec_m_cuadropagosciclo > where ent_codigo = $1 > and sec_codigo = $2 > and ani_codigo = $3 > and case $4 > when null then cic_codigo IN (select cic_codigo > from > aca_m_cicloaniolectivo > where > ent_codigo = > $1 > and > sec_codigo = > $2 > and > ani_codigo = > $3) > else cic_codigo = $4 > end > ' LANGUAGE 'sql' > > but when $4 is null the function executes the else part and what i > want to > do is to execute the when null. Can you help me???
try the form: case when $4 is null then cic_codigo IN (select cic_codigo from aca_m_cicloaniolectivo where ent_codigo = $1 and sec_codigo = $2 and ani_codigo = $3) else cic_codigo = $4 end [] regards, ===== Riccardo G. Facchini ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]