From: Josh Berkus <josh@agliodbs.com>
To: Reinoud van Leeuwen <reinoud@xs4all.nl>
To: pgsql-sql@postgresql.org
Subject: Re: [HACKERS] plpgsql strangeness with select into <variable>
Date: Fri, 18 Jul 2003 09:14:43 -0700
Message-ID: <200307180914.43379.josh@agliodbs.com> (raw)
In-Reply-To: <20030718172452.L54220@spoetnik.xs4all.nl>
References: <20030718172452.L54220@spoetnik.xs4all.nl>
Reinoud,
First, I'm moving your question to PGSQL-SQL, which is the appropriate list,
not HACKERS. See my response at the bottom of your quote.
> I'm debugging a trigger in plpgsql and for some reason or the "select
> into <var>" does not seem to work. Here is an unaltered snippet of my
> trigger code:
>
> raise notice ''this id : %'',NEW.id;
>
> select into i_hierarchy_id
> hierarchy_id
> from link_def LD,
> link L,
> object_link OL
> where OL.id = NEW.id
> and L.id = OL.link_id
> and LD.id = L.link_def_id;
>
> raise notice ''i_hierarchy_id: %'',i_hierarchy_id;
>
>
> in the log this results in:
>
> NOTICE: this id : 5265
> NOTICE: i_hierarchy_id: <NULL>
>
> but when I perform the query on the command line I do get a result:
>
> select hierarchy_id
> from link_def LD,
> link L,
> object_link OL
> where OL.id = 5264
> and L.id = OL.link_id
> and LD.id = L.link_def_id;
>
> hierarchy_id
> --------------
> 1
> (1 row)
>
> i_hierarchy_id is declared as integer and is not used before this code nor
> as a column name anywhere.
>
> Does anyone have a clue what is going wrong? I use Postgresql 7.3.3 on
> FreeBSD 4.5.
Without seeing your full trigger code, I can't tell for sure. However, I
would guess that your "SELECT INTO" statement is querying data that has not
yet been created; it's an FK record waiting on a deferred trigger, or you're
using a BEFORE trigger and querying the record which has not yet been
committed.
--
Josh Berkus
Aglio Database Solutions
San Francisco
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: josh@agliodbs.com, reinoud@xs4all.nl
Subject: Re: [HACKERS] plpgsql strangeness with select into <variable>
In-Reply-To: <200307180914.43379.josh@agliodbs.com>
* 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