Selamlar,
Bu Procedur +10 İtemleri +8 / +5 Uniqueleri +3 e veya +1 e Çekmenize yarar Girişte Tarama Yapar
Denenmiştir , Hiçbir Sakıncası , Hiçbir BUGU Yoktur!
Başlayalım ;
İlk Once ITEM Tablomuzda biraz değişiklik yapalım , +10 itemler +0 yazıyor , Onları +10 olarak değiştirelim ...
DECLARE @Num int,@strName varchar(100),@ProcessCount int
/*
Author : Ceribrio
*/
DECLARE CRS_ITEM_TABLE CURSOR FOR
SELECT
Num,strName FROM ITEM WHERE strName LIKE '%(+0)%' AND Kind <> 91
AND Kind <> 92 AND Kind <> 93 AND Kind <> 94
SET @ProcessCount = 0
OPEN CRS_ITEM_TABLE
FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName
WHILE (@@FETCH_STATUS = 0)
BEGIN
DECLARE
@ItemName varchar(100),@ItemNum int,@RealItemName
varchar(100),@CheckItemName varchar(100),@NewItemName
varchar(100),@FindCount int
SELECT @ItemNum = Num, @ItemName = strName FROM ITEM WHERE Num = @Num - 2
SELECT @FindCount = Count(Num) FROM ITEM WHERE Num = @ItemNum
IF @FindCount <> 0
BEGIN
SET @RealItemName = RTRIM(LTRIM(REPLACE(@strName,'(+0)','')))
SET @CheckItemName = RTRIM(LTRIM(REPLACE(@ItemName,'(+','')))
IF @RealItemName = @CheckItemName
BEGIN
SET @NewItemName = @RealItemName + ' (+10)'
UPDATE ITEM SET strName = @NewItemName WHERE Num = @Num
SET @ProcessCount = @ProcessCount + 1
END
END
FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName
END
CLOSE CRS_ITEM_TABLE
DEALLOCATE CRS_ITEM_TABLE
PRINT 'Değiştirilen İtem Sayısı : ' + RTRIM(LTRIM(STR(@ProcessCount)))
Bu Procedur +10 İtemleri +8 / +5 Uniqueleri +3 e veya +1 e Çekmenize yarar Girişte Tarama Yapar
Denenmiştir , Hiçbir Sakıncası , Hiçbir BUGU Yoktur!
Başlayalım ;
İlk Once ITEM Tablomuzda biraz değişiklik yapalım , +10 itemler +0 yazıyor , Onları +10 olarak değiştirelim ...
DECLARE @Num int,@strName varchar(100),@ProcessCount int
/*
Author : Ceribrio
*/
DECLARE CRS_ITEM_TABLE CURSOR FOR
SELECT
Num,strName FROM ITEM WHERE strName LIKE '%(+0)%' AND Kind <> 91
AND Kind <> 92 AND Kind <> 93 AND Kind <> 94
SET @ProcessCount = 0
OPEN CRS_ITEM_TABLE
FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName
WHILE (@@FETCH_STATUS = 0)
BEGIN
DECLARE
@ItemName varchar(100),@ItemNum int,@RealItemName
varchar(100),@CheckItemName varchar(100),@NewItemName
varchar(100),@FindCount int
SELECT @ItemNum = Num, @ItemName = strName FROM ITEM WHERE Num = @Num - 2
SELECT @FindCount = Count(Num) FROM ITEM WHERE Num = @ItemNum
IF @FindCount <> 0
BEGIN
SET @RealItemName = RTRIM(LTRIM(REPLACE(@strName,'(+0)','')))
SET @CheckItemName = RTRIM(LTRIM(REPLACE(@ItemName,'(+','')))
IF @RealItemName = @CheckItemName
BEGIN
SET @NewItemName = @RealItemName + ' (+10)'
UPDATE ITEM SET strName = @NewItemName WHERE Num = @Num
SET @ProcessCount = @ProcessCount + 1
END
END
FETCH NEXT FROM CRS_ITEM_TABLE INTO @Num,@strName
END
CLOSE CRS_ITEM_TABLE
DEALLOCATE CRS_ITEM_TABLE
PRINT 'Değiştirilen İtem Sayısı : ' + RTRIM(LTRIM(STR(@ProcessCount)))