Numero righe processate con query update

di il
3 risposte

Numero righe processate con query update

Salve a tutti,

ho la necessità di eseguire una query di update e di sapere il numero delle righe processate per segnalarle all'operatore tramite il seguente codice:


	    Dim contatore As Int32 = 0

            SQL = "UPDATE TABLE_PIPPO set VALORE1 = 0, VALORE2 = 1, VALORE3 = convert(datetime,'" & Now.ToString.Replace(".", ":") & "') "
            SQL = SQL & "from (select ROW_NUMBER() over (order by ORDINE) as row, * "
            SQL = SQL & "from TABLE_PIPPO WHERE VALORE = 1 and VALORE4 = 'GEPPETTO') as TABLE_PIPPO"
            
           COMANDO.CommandText = SQL
           newProdID = Convert.ToInt32(CMD.ExecuteScalar())
           MsgBox(contatore) 

La query viene eseguita correttamente, ma non ottengo il numero delle righe processato, o meglio dire, modificate.
Il valore contatore mi rimane sempre a 0 anche se la query modifica 10 righe.

Dov'è che sbaglio?

Grazie in anticipo.

3 Risposte

  • Re: Numero righe processate con query update

    Non vedo alcuna relazione tra contatore e la tua query.
    Secondo te, dove la variabile contatore dovrebbe essere valorizzata ?
  • Re: Numero righe processate con query update

    Pensavo che con il comando:
    as row,
    venisse inizializzata la variabile, come avviene per la seguente query:
    
    SELECT ROW_NUMBER() over (order by sn) as row, * FROM TABLE_PIPPO WHERE NOME= 'PIPPO' and COGNOME = 'PLUTO'
    
    dove row mi restituisce il numero sequenziale delle righe.
    Ma la mia vera esigenza è quella di scrivere una query che mi eseguisse un update e mi restituisse il numero delle righe processate.
    Al momento ho risolto prima facendo una query di lettura:
    
    SELECT COUNT (nomecampo) as righe FROM TABLE_PIPPO
    WHERE NOME = "PIPPO" AND COGNOME = "PLUTO"
    
    che mi restituisce il numero delle righe modificate, e poi una query di update:
    
    UPDATE TABLE_PIPPO set nome = 'pippo', cognome = 'pluto'
    WHERE via = 'dante'
    AND numero = 1
    
    Facendo così, però, sono costretto a scrivere due query.

    A questo punto la mia domanda è la seguente:
    E' possibile fare un MERGE delle due query?

    Grazie e chiedo scusa se sono stato poco chiaro.
  • Re: Numero righe processate con query update

    Vedi il Remark di questo link
Devi accedere o registrarti per scrivere nel forum
3 risposte