Hi I am using zope 2.8.11<br><br>I am using mxodbc da to connect to sql server and I was wondering what is the best way to get the new value of the primary key (an identity field) after inserting. <br><br>It looks like there are 3 slightly different functions I could use:<br>
<br>"""""""""""<br><p>SCOPE_IDENTITY, IDENT_CURRENT,
and @@IDENTITY are similar functions because they return values that are
inserted into identity columns.</p><p>IDENT_CURRENT is not limited by
scope and session; it is limited to a specified table. IDENT_CURRENT
returns the value generated for a specific table in any session and any
scope. For more information, see <a href="http://msdn.microsoft.com/en-us/library/ms175098.aspx">IDENT_CURRENT
(Transact-SQL)</a>.</p><p>SCOPE_IDENTITY
and @@IDENTITY return the last identity values that are generated in
any table in the current session. However, SCOPE_IDENTITY returns values
inserted only within the current scope; @@IDENTITY is not limited to a
specific scope.</p><p>"""""" (from <a href="http://msdn.microsoft.com/en-us/library/ms190315.aspx">http://msdn.microsoft.com/en-us/library/ms190315.aspx</a>)<br></p>It seems like scope_identity might be the best one to use, but is it possible that two zope transactions might occur within the one sql server "scope" and "session" and therefore get the wrong identity value depending on timing etc. <br>
<br>Thanks in advance<br><br><br>