Ciao, grazie per la risposta.
Se metto la direttiva @TRANSACTION =Required poi è necessario sempre usare conn.BeginTrans e conn.CommitTrans (o conn.RollbackTrans) oppure no?
Se, come dici, durante la transazione aperta altri utenti possono modificare i record delle tabelle, allora resta aperto il mio problema che è il seguente:
supponiamo che io debba inserire nella tabella 'impiegati' un nuovo impiegato con il campo 'tipo_impiego', nel form per inserire l'impiegato ho la tendina per il tipo_impiego con 2 item: 'operaio' e 'ragioniere', io seleziono 'ragioniere', poi invio il form e viene elaborata la pagina asp che dovrebbe memorizzare nel database il nuovo impiegato, poco prima che ciò avvenga qualche altro utente ha però cancellato dalla tabella 'tipo_impieghi' il record 'ragioniere', a questo punto viene memorizzato il mio nuovo impiegato con la qualifica 'ragioniere' nel campo 'tipo_impiego', qualifica che non esiste più nella tabella 'tipo_impieghi'!!! Io non voglio che ciò accada, ecco perchè chiedevo se durante la transazione le tabelle vengono tutte bloccate almeno in scrittura ad altri utenti. Questo problema è banale ma dovendo fare delle modifiche a cascata su varie tabelle il problema può diventare serio.

Ciao