Selamlar
--TRUNCATE TABLE LG_XXX_SHIPINFO
DECLARE @LOGI INT
SET @LOGI=(SELECT TOP 1 LOGICALREF FROM LG_XXX_SHIPINFO
ORDER BY LOGICALREF DESC)
IF @LOGI IS NULL
BEGIN
SET @LOGI=1
END
else
begin
SET @LOGI=@LOGI+1
end
DECLARE DENEME CURSOR SCROLL FOR
Select LOGICALREF,CODE,DEFINITION_,ADDR1,ADDR2,CITY,CITYCODE from LG_XXX_CLCARD
WHERE ACTIVE=0 AND CARDTYPE NOT IN (22) AND LOGICALREF NOT IN (SELECT CLIENTREF FROM LG_XXX_SHIPINFO)
DECLARE @CLIENT INT
DECLARE @CODE VARCHAR(25)
DECLARE @DEF VARCHAR(50)
DECLARE @ADRES1 VARCHAR(51)
DECLARE @ADRES2 VARCHAR(52)
DECLARE @CITY VARCHAR(21)
DECLARE @CITYCODE VARCHAR(13)
OPEN DENEME
FETCH NEXT FROM DENEME INTO @CLIENT,@CODE,@DEF,@ADRES1,@ADRES2,@CITY,@CITYCODE
WHILE @@FETCH_STATUS=0
BEGIN
INSERT INTO LG_XXX_SHIPINFO (LOGICALREF, CLIENTREF, CODE, NAME, ADDR1, ADDR2, CITY, CITYCODE)
SELECT @LOGI,@CLIENT,@CODE,@DEF,@ADRES1,@ADRES2,@CITY,@CITYCODE
FETCH NEXT FROM DENEME INTO @CLIENT,@CODE,@DEF,@ADRES1,@ADRES2,@CITY,@CITYCODE
SET @LOGI=@LOGI+1
END
CLOSE DENEME
DEALLOCATE DENEME
Bazı alanlar null olacağından kayıtları yaptıktan sonra özelkod vb.. alanları yasak edebilirsiniz.
Çok Fazla alan var insert için zorunlu ve kullanacağınız alanları ekledim. Zaman nedeniyle en hızlı bu olabildi.
Cursorde scroll kullandım. Kaydetmeyi garantilemek içindi. Direkt kullanabilirsiniz. Yada bu kurguyu örnek alarak alanlar ekleyebilirsiniz.
Kolay Gelsin