<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Tecnico on loman.it</title><link>https://loman.it/tags/tecnico/</link><description>Recent content in Tecnico on loman.it</description><generator>Hugo</generator><language>it</language><lastBuildDate>Mon, 14 Jul 2008 22:07:00 +0200</lastBuildDate><atom:link href="https://loman.it/tags/tecnico/index.xml" rel="self" type="application/rss+xml"/><item><title>Post tecnico: come aggiornare tanti record in MSSQL senza fare dei LOCK</title><link>https://loman.it/2008/07/14/post-tecnico-come-aggiornare-tanti-record-in-mssql-senza-fare-dei-lock/</link><pubDate>Mon, 14 Jul 2008 22:07:00 +0200</pubDate><guid>https://loman.it/2008/07/14/post-tecnico-come-aggiornare-tanti-record-in-mssql-senza-fare-dei-lock/</guid><description>&lt;p&gt;Come aggiornare tantissimi record su una tabella del db della Microsoft senza effettuare un lock alla stessa?&lt;/p&gt;
&lt;p&gt;Potremmo semplicemente usare l&amp;rsquo;istruzione&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ma rischieremmo di creare disallineamenti vari a causa della lettura &amp;ldquo;al volo&amp;rdquo; dovuta all&amp;rsquo;istruzione sopra citata.&lt;/p&gt;
&lt;p&gt;La soluzione quindi è aggiornare un po&amp;rsquo; di record alla volta, così come segue:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;set ROWCOUNT 100 update TABELLA_PROVA with(UPDLOCK) set FL_AGG = 1, CAMPO1 = CAMPO2 + CAMPO3 where FL_AGG = 0 set ROWCOUNT 0&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>