I have changed now the last query. Here is my result. Maybe someone can check it.
Code:/* old Calculation of the silk amount*/ /* Declare @tMinutes bigint; Declare @Silk int; set @tMinutes = (SELECT [Minutes] from _OnlineOffline WHERE CharID = @CharID) IF (@tMinutes >= 60) BEGIN SET @Silk = CAST(((SELECT [Minutes] FROM _OnlineOffline WHERE CharID = @CharID) / 60) as int) UPDATE _OnlineOffline SET [Minutes] = [Minutes] % 60 WHERE CharID = @CharID IF exists (SELECT [WEEKDAYS] FROM [_Silk/Hour-Config] WHERE [WEEKDAYS] like 'Montag' or [WEEKDAYS] like 'Dienstag' or WEEKDAYS like 'Mittwoch' or WEEKDAYS like 'Donnerstag' or WEEKDAYS like 'Freitag' or WEEKDAYS like 'Samstag' or WEEKDAYS like 'Sonntag') BEGIN UPDATE _OnlineOffline SET [eSilk] = [eSilk] + (@Silk*[Silk/Hour]) WHERE CharID = @CharID exec SRO_VT_ACCOUNT.dbo._extraSilk @CharID, @Silk END END */ /* new extansion */ declare @CharIDSS int; Declare @Silk int; declare cur CURSOR for select CharID from _OnlineOffline where Status = 'Online' and [Minutes] >= 60; open cur fetch next from cur into @CharIDSS while @@FETCH_STATUS = 0 BEGIN SET @Silk = CAST(((SELECT [Minutes] FROM _OnlineOffline WHERE CharID = @CharIDSS) / 60) as int) UPDATE _OnlineOffline SET [Minutes] = [Minutes] % 60 WHERE CharID = @CharIDSS IF exists (SELECT [WEEKDAYS] FROM [_Silk/Hour-Config] WHERE [WEEKDAYS] like 'Montag' or [WEEKDAYS] like 'Dienstag' or WEEKDAYS like 'Mittwoch' or WEEKDAYS like 'Donnerstag' or WEEKDAYS like 'Freitag' or WEEKDAYS like 'Samstag' or WEEKDAYS like 'Sonntag') BEGIN UPDATE _OnlineOffline SET [eSilk] = [eSilk] + (@Silk*[Silk/Hour]) WHERE CharID = @CharIDSS exec SRO_VT_ACCOUNT.dbo._extraSilk @CharIDSS, @Silk END fetch next from cur into @CharIDSS end close cur deallocate cur



Reply With Quote




