Neunummerierung von Kunden und Lieferantennummern via SQL

declare @helptable table(AdrNrGes nvarchar(24))
declare @currAdrNrGes nvarchar(24)
declare @i float
set @i = 10000
—  AdressArt: 0=Kunde (Debitor 10000-69999), 1=Lieferant (Kreditor 70000-)
insert into @helptable (AdrNrGes) ( SELECT AdrNrGes FROM [BNWINS].[dbo].[adrAdressen] where AdressArt = 0)
while exists (select * from @helpTable)
begin
         select top 1 @currAdrNrGes = AdrNrGes from @helpTable
         update adrAdressen set DebitKreditNr = @i where AdrNrGes = @currAdrNrGes
         set @i=@i+1
         delete @helpTable where AdrNrGes = @currAdrNrGes
end

Danach sollte man prüfen folgendes Skript laufen lassen um zu prüfen ob in den anderen Adressarten evtl. noch Adressen mit Debitoren- oder Kreditorennummern vorhanden sind und diese ggf entfernen.

SELECT [AdrNrGes], [AdressArt] ,[DebitKreditNr]
FROM [dbo].[adrAdressen]
order by DebitKreditNr desc

und diese Nummern evtl. auf [0] setzen.

update adradressen
set DebitKreditNr=0 where where AdressArt>1

Ansonsten greifen die eingestellten Nummernkreise im Adressenstamm bei fortlaufender Nummer nicht.