MS SQL Indywidualny licznik dla danego ID

0

Witam,
poszukuję rozwiązania do poniższego zadania.
Chcę stworzyć licznik dla danego Id oparty o WARTOŚĆ.
Licznik ma się zerować co 4 lub jeśli wartość jest inna niż 10, jak w załączonym przykładzie.
W tabeli jest kilkaset ID i dla każdego ID licznik musi działać osobno.
Czy ktoś ma jakiś pomysł?

FLTiaz.jpg

0

trigger, ale i tak będzie problem jak będzie dużo insertów w krótkim czasie. Aby to było w 100% pewne to trzeba by mieć dodatkową tabelkę, a w niej id i aktualny_licznik. Pobierać z blokowaniem stan licznika dla danego id, wyliczać nową wartość, wstawiać rekord i updejtować ten w tabelce z licznikiem

0

Która wersja SQL Servera?
Co determinuje kolejność?

0
Panczo napisał(a):

Która wersja SQL Servera?
Co determinuje kolejność?

2014, kolejność determinuje data

0

Jeśli to coś pomoże to licznik może się zerować tylko wtedy kiedy wartość jest różna od 10.

0

Potrzebujesz tego w czasie rzeczywistym? Jeżeli nie, to co jakiś czas możesz robić update na kolumnie i problem staje się całkiem prosty do rozwiązania.

0

To jest tabela, która jest zasilana danymi codziennie.
Codziennie wpada kilkadziesiąt wierszy danych. Liczba wierszy cały czas rośnie.
W pewnym momencie osiagnie kilka tysięcy wierszy więc update'owanie tej tabeli przy kilkuset ID nie tym o czym marze :)
wolałbym ustawić tutaj automat.

0

Możesz stworzyć joba, który będzie codziennie robił update na tabeli. Nie korzystam z MS serwera, ale ktoś na pewno Ci podpowie jak to zrobić.

0

To też jakiś pomysł, potrafię zrobić joba. dzięki.

0

A jaka jest pewność ze zawsze dostajesz większe daty, co w przypadku gdy ktoś wprowadzi daty wczesniejsze i będzie to wymagalo zmiany w innych rekordach?
Jak tabela jest zasilana?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0