E 'possibile a UPDATE
una riga e quindi a SELECT
i dati aggiornati dalla stessa riga all'interno della stessa transazione senza timore di un deadlock?UPDATE e SELEZIONA una riga nella stessa transazione
risposta
Utilizzare la clausola OUTPUT
per eseguire questa operazione.
Update table_name
set col1='some_value'
output inserted.*
Sì, se si esegue nella stessa transazione entrambe le affermazioni non dovrebbero stallo tra di loro
Se avete paura di blocco critico con altre operazioni, si dovrebbe ridurre al minimo il blocco causato da transazioni, utilizzando una clausola indicizzata WHERE
nello UPDATE
ed evitando, se possibile, il livello di isolamento SERIALIZABLE
. (ReadCommitted fa il trucco per te?)
Sì, dovrebbe andare bene. Si verifica un deadlock quando due sessioni SQL separate tentano di accedere allo stesso record nello stesso momento. Poiché l'aggiornamento e la selezione avvengono nella stessa transazione, li imporrà in modo sequenziale. Tuttavia, se più fonti eseguono la transazione, ciò potrebbe causare un deadlock.
per selezionare il valore inserito utilizzare la seguente query
UPDATE SET maths = 20,biology = 21 OUTPUT INSERTED.maths, INSERTED.biology WHERE student_id = 12
per selezionare precedente uso valore
UPDATE SET maths = 20 OUTPUT DELETED.maths WHERE student_id = 12
- 1. TSQL SELEZIONA quindi UPDATE in una transazione, quindi restituisce SELECT
- 2. UPDATE Stessa riga dopo UPDATE in Trigger
- 3. Echoing nella stessa riga
- 4. sql seleziona query nella stessa tabella
- 5. Crea una colonna e inseriscila all'interno della stessa transazione?
- 6. Seleziona tutto dopo una determinata riga nella tabella SQL ordinata
- 7. Spring JpaRepository: delete() con successivo save() nella stessa transazione
- 8. linq seleziona una riga casuale
- 9. Confronto 2 valori colonne (nella stessa riga)
- 10. Seleziona una riga in JTable
- 11. SELEZIONA e AGGIORNA più record in oriento/orientjs e transazione nella linea di galleggiamento
- 12. Pulsanti radio e etichetta da visualizzare nella stessa riga
- 13. Come mettere due EditText nella stessa riga
- 14. Utilizzo: counter_cache e: tocco nella stessa associazione
- 15. Come selezionare più campi nella stessa riga? (MySQL)
- 16. mysql nidificato SELECT UPDATE della stessa tabella
- 17. Seleziona riga uitableview programmaticamente
- 18. L'inserimento non riesce nella transazione, ma SQL Server restituisce 1 riga/e interessata?
- 19. Riferimento e dereferencing nella stessa istruzione
- 20. Transazione distribuita completata. O iscriviti questa sessione in una nuova transazione o nella transazione NULL
- 21. Trigger per INSERT e UPDATE sulla stessa tabella
- 22. Partizioni e UPDATE
- 23. Seleziona l'ultima riga in MySQL
- 24. Hibernate PostInsertEventListeners: utilizzare la stessa transazione inserita?
- 25. Come forzare una casella e un testo sulla stessa riga?
- 26. MySQL seleziona e aggiorna in una query
- 27. JDBC: chiave esterna sulla PK creato stessa transazione
- 28. C#: Seleziona riga da DataGridView
- 29. Ricerca di valori duplicati in colonne diverse nella stessa riga
- 30. Seleziona gruppo dal conte e conteggio distinto nella query stessa MongoDB
Quello molto meglio :) – Juan