J-H Johansen
1/17/2008 11:30:00 PM
On Jan 17, 2008 10:25 PM, hiddenhippo <redaudi@gmail.com> wrote:
> hi,
>
> I'm trying to write a test application that queries a postgres
> database, which so far I've managed to do but in a limited way. I'm
> completely lost how to perform transactions and how to return the
> primary key id for newly inserted rows. hopefully by placing some
> code someone might be able to help,
>
> require 'postgres'
>
> db = PGconn.connect('localhost',
> 5432,'','','testdatabase','username','password')
> results = db.exec('select * from testtable')
>
> I can then loop on results and display them using puts.
>
> However suppose i wanted to issue the following statement but within a
> transaction? I simply can't find any documentation anywhere to help
> me
>
> db.exec('delete from testtable')
Not entirely sure I understand the problem with that statement.
> in addition, suppose i was to insert a row into testtable and want the
> id returned back? i can't figure that out either.
Say testtable contains 2 columns <id> and <name> where <id> is auto
incremented on insert.
result = db.exec("INSERT INTO testtable(name) VALUES('b') RETURNING id")
q_id = result[0][0]
--
J-H Johansen
--
There are 10 kinds of people in the world: Those who understand binary and
those who don't...