63 messaggi dal 15 aprile 2002
Ho una stored proc 'sp01' che ha il compito di

- effettuare una query e calcoli su più tabelle
- svuotare una tabella 'A'
- quindi riempirla con i nuovi dati calcolati

Durante questo lavoro di 'svuotamento' e quindi immediato riempimento, però, ovviamente uno o più utenti del sito potrebbero accedere a quella tabella e trovarla vuota o solo parzialmente riempita.

Qual'è il miglior livello di isolamento che posso utilizzare nella 'sp01' per far si che gli utenti vengano accodati e possano leggere i dati integri solo a fine riempimento?

A primo acchitto utilizzerei 'serializable' ma vorrei kiedere l'opinione di chi è + saggio di me...

... A journey to find The anwers inside ... our illusive mind ...
1.024 messaggi dal 19 dicembre 2003
Contributi | Blog
Qualunque sia il livello di isolamento, eseguendo l'istruzione

BEGIN TRAN
1) calcoli
2) svuotamento
3) riempimento
COMMIT TRAN

tra le attività 2 e 3 NESSUNO potrà accedere alle tabelle svuotate in quanto qualunque attività di scrittura (e con qualunque isolation level) pone un blocco esclusivo FINO al termine della transazione. Non hai specificato quale DBMS utilizzi ma fai comunque riferimento, per le linee guida, a questo articolo relativo a SQL Server 7.0 (e tuttavia ancora valido in SQL Server 2000)

http://italy.mvps.org/MVPs/lbianchi/art_IsolationLevel.htm

Bye

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.