Facciamo attenzione a separare le questioni...una cosa è il database (e le relative query) ed un'altra è il linguaggio (ASP ? non sono molto esperto) che utilizzi per fare la tua pagina

Hai provato ad eseguire la query DIRETTAMENTE sul database (con SQL Management Studio o Enterprise Manager o..) per vedere se funziona ?

Dopo essertela fatta stampare prova a copiartela in Management Studio ed a lanciarla. Se funziona NON è un problema del database

Prova a scriverla per intero ed ad eseguirla:

UPDATE dbo.DOC_DETT SET DONUMDOC = 23 WHERE DONUMDOC = 0

I campi pratica e praticatemp sono numerici ? (perchè allora mettere quel replace dell'apice ?)
Oppure sono stringhe ? (allora devi mettere gli apici anche ad inizio e fine del parametro)