none
SQL chiede di dichiarare Variabili già dichiarate e inizializzate RRS feed

  • Domanda

  • Ciao a tutti,

    ho un ciclo while

    ************

    while @RowCnt <= @MaxRows

     begin

    ...

    select @RowCnt=@RowCnt+1

    end

    *************

    ma SQL Management mi dice che devo dichiarare la variabile @RowCnt...ma l'ho già dichiarata fuori dal ciclo e inizializzata a 1. Come è possibile?!??!?

    Naturalmente ho anche inizializzato la variabile @MaxRows (che è il totale delle righe di una tabella).

    mercoledì 26 ottobre 2011 10:32

Tutte le risposte

  •  sicuro ? perchè non posti tutto il codice ?

    hai fatto

    DECLARE @RowCnt int

    ad esempio ?

    mercoledì 26 ottobre 2011 19:09
  • Si sicurissimo,

     

    fuori dal ciclo ho:

    declare @RowCnt int
    select @RowCnt=1

     

    Oltretutto questa cosa mi capita anche in un'altra query sempre dentro un ciclo che però non ha contatori ma c'è un cursore:

    WHILE

    @@FETCH_STATUS = 0

    Proprio non capisco!!!
    giovedì 27 ottobre 2011 07:56
  • eh mi sà che devi postare tutto il codice , magari anche l'sql per ricreare le tabelle e i dati sennò non ne veniamo a capo

    perchè così funzia, ma non sarà certo questo il tuo caso

    declare @RowCnt int
    select @RowCnt=1

    declare @MaxRows int
    select @MaxRows = 3

    while @RowCnt <= @MaxRows

     begin

        print(@RowCnt)

        select @RowCnt = @RowCnt+1

    end

     

    facci sapere

    giovedì 27 ottobre 2011 18:35