--- 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]