If you want to be more on the safe side here's another way of doing it. # create random string like 208h28hd280D7ych987YD98N80e048N3C # or make that a param INSERT into table SET name='<dtml-var name>', lastname='208h28hd280D7ych987YD98N80e048N3C' <dtml-var sql_delimiter> SELECT id FROM table WHERE lastname='208h28hd280D7ych987YD98N80e048N3C' <dtml-var sql_delimiter> UPDATE table SET lastname='<dtml-var lastname>' WHERE lastname='208h28hd280D7ych987YD98N80e048N3C' Get it? Peter
-----Message d'origine----- De : zope-admin@zope.org [mailto:zope-admin@zope.org]De la part de The Doctor What Envoye : vendredi 20 avril 2001 05:48 A : zope@zope.org Cc : Jim Penny Objet : Re: [Zope] ZSQL - finding the id of what you just inserted?
* The Doctor What (docwhat@gerf.org) [010419 21:02]:
Howdy again....
I use a dtml-call to call a zsql object that does an insert. I don't specify ID because ID is auto-sequenced by the DB.
How can I find out what the ID of that just inserted object is so I can do more operations on it?
Related question: Why doesn't this work? <dtml-call expr="RESPONSE.redirect('index_html?message=Link+added&url_id='+url_id)">
Zope complains about a builtin...
If figured it out in the end. It was actually a Postgres question: INSERT INTO URL (val_ProtocolID, Url, Name, Summary, Description, Created) VALUES ( <dtml-sqlvar protocol_id type=int>, <dtml-sqlvar url_part type=nb>, <dtml-sqlvar url_name type=nb>, <dtml-sqlvar url_summary type=nb>, <dtml-sqlvar url_description type=nb>, now() ) <dtml-var sql_delimiter> SELECT id as url_id FROM URL WHERE id = currval('url_id_seq')
Ciao!
-- Any programming language is at its best before it is implemented and used.
The Doctor What: Un-Humble http://docwhat.gerf.org/ docwhat@gerf.org KF6VNC
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )