pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bart Degryse <Bart.Degryse@indicator.be>
To: 'Richard Huxton' <dev@archonet.com>
To: Jyoti Seth <jyotiseth2001@gmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: postgresql function not accepting null values inselect  statement
Date: Fri, 22 Feb 2008 10:35:47 +0100
Message-ID: <47BEA582.A3DD.0030.0@indicator.be> (raw)
In-Reply-To: <001a01c87534$84eea280$8ecbe780$@com>
References: <001501c8752d$391c8e50$ab55aaf0$@com>
	<47BE9058.9030909@archonet.com>
	<001a01c87534$84eea280$8ecbe780$@com>

Can you try this...
 
CREATE OR REPLACE FUNCTION getfunctionaries(p_statecd integer)
  RETURNS SETOF t_functionaries AS
$BODY$
DECLARE
  rec t_functionaries%ROWTYPE; 
BEGIN
  FOR rec IN (
    SELECT f.functionaryid, f.category, f.description
    FROM functionaries f
    WHERE f.statecd IS NOT DISTINCT FROM p_statecd)
  LOOP
    return next rec;
  END LOOP;
  return;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

>>> "Jyoti Seth" <jyotiseth2001@gmail.com> 2008-02-22 10:22 >>>
Hi,

I have a the following procedure 

CREATE OR REPLACE FUNCTION getfunctionaries(p_statecd integer)
  RETURNS SETOF t_functionaries AS
$BODY$
DECLARE rec t_functionaries%ROWTYPE; 
begin
       FOR rec IN 
SELECT f.functionaryid, f.category,f.description
FROM functionaries f
     where f.statecd=p_statecd

LOOP
        return next rec;
        END LOOP;
       return;
   end;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

In the functionaries table statecd is a null field. When I pass some integer
value to the above procedure it works correctly but if I pass null value in
p_statecd it doesn't show anything whereas it has values and if I write the
select statement separately it gives values

Thanks,
Jyoti

-----Original Message-----
From: Richard Huxton [mailto:dev@archonet.com] 
Sent: Friday, February 22, 2008 2:35 PM
To: Jyoti Seth
Cc: pgsql-sql@postgresql.org 
Subject: Re: [SQL] postgresql function not accepting null values in select
statement

Jyoti Seth wrote:
> 
> If I pass null value as the parameter of postgresql function, which is
used
> in the where clause of select statement is not functioning properly.

Either:

1. You're talking about frooble(), in which case it's supposed to do that.

or

2. You'll need to tell us what function it is, how you're using it and 
what you think should happen.

My guess is that you're getting a null as the result and that's not 
doing what you'd expect in your where clause.


-- 
   Richard Huxton
   Archonet Ltd


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

view thread (11+ messages)  latest in thread

Message-ID: <47BEA582.A3DD.0030.0@indicator.be>
Permalink:  ../47BEA582.A3DD.0030.0@indicator.be/
Also on:    postgresql.org/message-id/47BEA582.A3DD.0030.0@indicator.be

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: Bart.Degryse@indicator.be, dev@archonet.com, jyotiseth2001@gmail.com
  Subject: Re: postgresql function not accepting null values inselect  statement
  In-Reply-To: <47BEA582.A3DD.0030.0@indicator.be>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox