[Zope] Determining Success or Failure status on SQL update in ZSQL Metho d d
Matthew Parslow
matt@umd.com.au
Thu, 17 Feb 2000 15:32:51 +1100
what about <dtml-let "rows_affected=sql_query(params=param)">?
and then check if rows_affected is >0
Regards,
Matthew Parslow
On Thu, 17 Feb 2000, you wrote:
> Hello,
>
> A search of prior discussion threads shows this question occasionally
> appears without resolution. Perhaps someone has found an answer to it since
> then, so here it is...
>
> Using a ZSQL method, how do I detect if any rows have been affected when
> performing a SQL UPDATE. I do not need to know how many rows, just whether
> the statement affected 0 rows or more than 0 rows.
>
> My environment is Oracle (7 & 8) and with other programmatic interfaces to
> Oracle, one can capture a (non-error) return status that indicates if no
> rows were affected. This is supported in the ODBC API for Oracle and other
> databases as well. Is there a way to capture this return status even though
> it is not flagged as an error?
>
> No dtml-try since it's only a return code, not an error code
>
> As a workaround I've tried to do a select count, but to do this I need to
> 1) execute the select and update in the same transaction and
> 2) run the select before the update, store the value, then return it at the
> end (the update may or will change at least one of the fields referenced in
> the where clause, so I cannot run it after)
>
> So, inside of a SQL method, I can do #1, but cannot see a way to do #2.
>
> Is there a secret trick to this or is it a case of adding code to the
> existing DAs? Please please tell me it's the former.
>
> Thanks in advance,
> Ira
>
> _______________________________________________
> 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 )