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