Ho modificato la procedura per eseguire solo l'aggiornamento ed è la seguente:

dove
AnArticoli è la Datatable contenente tutte le informazioni degli articoli e possiede i seguenti due campi:
[0] = Int è il valore autoincrement = true cioè la PK
[41] = Varchar(50) ed è la quantità disponibile in magazzino prima dell'operazione
inoltre:
Id è l'Id dell'articolo che l'applicazione gli passa come parametro
Qty è la quantità da aggiungere a quelle esistente in AnArticoli

codice:
ALTER PROCEDURE dbo.StoredProcedure1
 
 @Id as Int,
 @Qty as Decimal
 as
 declare @Scorta Decimal
 
BEGIN

 SET NOCOUNT ON;
 
SELECT @Scorta = [41] FROM AnArticoli WHERE ([0] = @Id)

UPDATE    AnArticoli
SET       [41] = @Scorta + @Qty
WHERE     ([0] = @Id)

END
le problematiche sono le seguenti:
1) se eseguo il secondo blocco di istruzioni, funziona ma @Scorta( = 10) + @Qty ( = 12)
anziche restituire 22 restituisce 1012
2)Il primo blocco genera questo errore:
codice:
Errore nella clausola SELECT: espressione accanto a '='.
Impossibile analizzare il testo della query.
se invece trasformo il primo blocco nel seguente funziona correttamente
codice:
SELECT [41] FROM AnArticoli WHERE ([0] = @Id)
ma chiaramente non posso valorizzare la variabile @Scorta

Secondo voi dove sbaglio