Secondo voi cosa sbaglio in questo update ?

codice:
praticatemp = 0
pratica = request.form("pratica")

	set objcon = server.CreateObject("ADODB.Connection")
	objcon.open(MM_con_rimorinservice_STRING)
	dim qry
	
	qry = "begin transaction" & vbcrlf
	qry = qry & " UPDATE dbo.DOC_DETT "
	qry = qry & " SET DONUMDOC = " + replace(pratica,"'","''") + " " & vbcrlf
	qry = qry & " WHERE DONUMDOC = " + replace(praticatemp,"'","''") + " " & vbcrlf
	qry = qry & "if @@error <> 0 begin rollback RETURN end" & vbcrlf
	
	qry = qry & "COMMIT TRANSACTION" & vbcrlf
	on error resume next
    set objRs = objcon.Execute(qry)
ho stampato a video la stringa e mi pare corretta.....

Unico dubbio che mi viene è questo:
se faccio una query del database passando come parametro "praticatemp" ottengo tanti record non uno solo.
Ovvero nel mio database ci sono tantissimi record che hanno il valore 0 a praticatemp.
Io vorrei con un update solo e in un colpo solo aggiornare tutti i campi e farli passare da 0 al valore di pratica che è letto con un request.form e pensavo questa fosse la sintassi corretta, ma non funziona......

aiuto please