2016-08-05 67 views
0

Ich habe die folgende SQL eine Tabelle zu aktualisierenTabellensperren auf Update

update table1 t1 
inner join tbl2 t2 on on t1.ForeignId = t2.id 
set t1.Qty = T2.Qty 

Bitte beachten Sie, dass nur t1 aktualisiert wird. Diese SQL wird innerhalb der Transaktion ausgeführt.

Nach dieser SQL, ich versuche, die Tabelle außerhalb Transaktion fallen zu lassen - ‚Tabelle löscht, wenn vorhanden tbl2‘ Dies hängt und die Tabelle gesperrt ist

Gibt es eine Möglichkeit, diese Tabelle zu verwenden, eine andere Tabelle zu aktualisieren, innerhalb Transaktion und ich lasse es hinterher fallen, bevor die Transaktion festgeschrieben wird?

Antwort

0

Nein offensichtlich nicht, tbl2 wird aktiv verwendet, solange die Transaktion nicht festgeschrieben ist. Sie könnten mit einer Session-Temp-Tabelle arbeiten, die eine t2-Kopie enthält, oder einfach mit dem Löschen warten, bis Sie fertig sind.