Prelevare valore appena inserito

martedì 07 giugno 2005 - 11.33

mgianluca Profilo | Junior Member

Se qualcuno può aiutarmi o darmi un consiglio...

Ho una tabella documento_testa e una tabella documento_corpo.
Nella tabella documento_testa andrò ad inserire un record con un campo autoincrementale che nella tabella corpo inserirò come id_testa.

Visto che documento_corpo avrà molti record a fronte di 1 record per documento di testa inserisco tutto in una transaction.

Come faccio però dopo aver inserito il record in documento_testa a prelevare il codice (autoincrementale) che non ho inserito io? Non mi piacerebbe e penso che sia molto rischioso prendere il MAX. Mi potete consigliare?

Ciao

mgianluca Profilo | Junior Member

veramente sto usando MySql. Ci dovrebbe essere qualcosa di analogo?

Brainkiller Profilo | Guru

Ciao Gianluca,
che Database stai utilizzando ?
Se usi SQL Server puoi usare come ha detto Marco SCOPE_IDENTITY( ) oppure anche SELECT @@IDENTITY
Fra i due c'è differneza ed è ben spiegata qui:
http://msdn.microsoft.com/library/en-us/tsqlref/ts_sa-ses_6n8p.asp

ciao
david

Brainkiller Profilo | Guru

Se stai utilizzando MySQL puoi dare un'occhiata qui:
http://dev.mysql.com/doc/mysql/en/getting-unique-id.html

Il sito http://dev.mysql.com è davvero molto completo.

ciao
david

mgianluca Profilo | Junior Member

é stato un documento molto utilite ma ora come faccio ad utilizzare la funzione

LAST_INSERT_ID() di Mysql

Posso eventualmente fare come ricordo facevo in oracle

Select LAST_INSERT_ID() from dual?

io ho
cmdInsertCorpo.Parameters.Add(New MySqlParameter("id_testa", MySqlDbType.Int64, 10)).Value = ...

I ... come faccio a calcolarli?


Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5