Homa Page di Daniele Franceschini
Inizializzare un contatore di una tabella.
Potrebbe succedere che si renda necessario aggiungere un campo contatore all'interno di una tabella che inizialmente non era stato previsto. In questo caso, oltre ad aggiungere il campo, è necessario altresì inizializzarlo per poter avere dei valori sui campi dei records precedenti. Questa procedura permette la valorizzazione del nuovo campo che lo si imposterà come contatore. Dopo che i dati saranno presenti nella nuova colonna, sarà possibile ridefinirla come identity e continuerà; automaticamente ad aggiornasi.
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.usp_InizializzaContatore as
declare @campocontatore bigint
declare @myId bigint
set @myid = 0
declare tblCur cursor for select campocontatore from tblcontatore WITH (XLOCK)
for update of campocontatore;
open tblCur;
fetch next from tblCur into @campocontatore
while @@FETCH_STATUS = 0
begin
set @myId = @myId + 1
-- print @myid
update tblcontatore set campocontatore = @myid
WHERE CURRENT OF tblCur ;
fetch next from tblCur into @campocontatore
end
close tblCur;
deallocate tblCur
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO



