Обсуждение: Access last inserted tuple info...

Поиск
Список
Период
Сортировка

Access last inserted tuple info...

От
"Luis D. García"
Дата:
<span class="q"></span>Hi, I'm working on a modification of PostgreSQL 8.1.4 and I need to access the<br />information
storedin the last tuple inserted in a table (All this from the backend<br />code).<br /><br />Could anyone please help
meon this? <br /><br />Greetings and Thanks...<br />-- <br />Luis D. García M.<br /><br />Telf: (+58) 2418662663 <br
/>Cel.:(+58) 4143482018<br /><br />- FACYT - UC -<br />- Computación -  

Re: Access last inserted tuple info...

От
David Fetter
Дата:
On Wed, Jan 24, 2007 at 12:56:14PM -0400, Luis D. Garc?a wrote:
> 
>    Hi, I'm working on a modification of PostgreSQL 8.1.4 and I need to access
>    the
>    information stored in the last tuple inserted in a table (All this from the
>    backend
>    code).
>    Could anyone please help me on this?
>    Greetings and Thanks...

8.2 has (INSERT/UPDATE/DELETE) ... RETURNING.  Perhaps you could use
the 8.2 series instead :)

Cheers,
David.
-- 
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778        AIM: dfetter666                             Skype: davidfetter

Remember to vote!


Re: Access last inserted tuple info...

От
"Luis D. García"
Дата:
Thanks, I've heard that, but in this case won't exactly fit my needs...

..First, I'm working on a PostgreSQL 8.1.4 modification, and it
would be really difficult to add all the changes I've made to the
new version.

...Second, I need to do all this form the backend (Postgres
Source Code). I can't use any User or Administrator defined
functions or sometime like that.

Well, maybe I didn't make myself clear, this is what I need to do:

I need to know the values of some fields (columns) from the last
inserted tuple. The problem is that I need to do this in the moment
I'm inserting a new one (all from the backend code) and compare
the values between the new one ( N.O) and the all ready inserted (A.R.I),
and if the N.O fits some properties (according to the A.R.I) it must
be decided if it has to be finally inserted or not.

I think there's not to much difficulty on that, but until now I haven't
found how to access that information. I can reach the HeapTuple
structure according the A.R.I tuple, but I don't know how to access
the information (values for its attributes) stored on it.

Thanks again...

2007/1/24, David Fetter <david@fetter.org>:
On Wed, Jan 24, 2007 at 12:56:14PM -0400, Luis D. Garc?a wrote:
>
>    Hi, I'm working on a modification of PostgreSQL 8.1.4 and I need to access
>    the
>    information stored in the last tuple inserted in a table (All this from the
>    backend
>    code).
>    Could anyone please help me on this?
>    Greetings and Thanks...

8.2 has (INSERT/UPDATE/DELETE) ... RETURNING.  Perhaps you could use
the 8.2 series instead :)

Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
phone: +1 415 235 3778        AIM: dfetter666
                              Skype: davidfetter

Remember to vote!



--
Luis D. García M.

Telf: (+58) 2418662663
Cel.: (+58) 4143482018

- FACYT - UC -
- Computación -

Re: Access last inserted tuple info...

От
Martijn van Oosterhout
Дата:
On Thu, Jan 25, 2007 at 10:45:43AM -0400, Luis D. García wrote:
> Well, maybe I didn't make myself clear, this is what I need to do:
>
> I need to know the values of some fields (columns) from the last
> inserted tuple. The problem is that I need to do this in the moment
> I'm inserting a new one (all from the backend code) and compare
> the values between the new one (N.O) and the all ready inserted (A.R.I),
> and if the N.O fits some properties (according to the A.R.I) it must
> be decided if it has to be finally inserted or not.

Sounds like exactly what a trigger is for. The trigger can do what it
likes and depending on that, update the tuple or not.

However, you say you can't use triggers (which are just functions),
which begs the question: in what context is this? In what context is
this going to happen? "Last" relative to what?

> I think there's not to much difficulty on that, but until now I haven't
> found how to access that information. I can reach the HeapTuple
> structure according the A.R.I tuple, but I don't know how to access
> the information (values for its attributes) stored on it.

If you have a HeapTuple, there are functions to extract values out of
it and examine it. Is that what you're looking for?

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.